Lines Matching +full:rom +full:- +full:val

1 // SPDX-License-Identifier: GPL-2.0-or-later
23 MODULE_DESCRIPTION("Driver for 1-wire Dallas DS2405 PIO.");
24 MODULE_ALIAS("w1-family-" __stringify(W1_FAMILY_DS2405));
28 struct w1_master *dev = sl->master; in w1_ds2405_select()
30 u64 dev_addr = le64_to_cpu(*(u64 *)&sl->reg_num); in w1_ds2405_select()
37 * We cannot use a normal Match ROM command in w1_ds2405_select()
53 /* wrong direction taken - no such device */ in w1_ds2405_select()
68 return -ENODEV; in w1_ds2405_read_pio()
75 struct w1_master *dev = sl->master; in state_show()
81 ret = mutex_lock_interruptible(&dev->bus_mutex); in state_show()
86 f_retval = -ENODEV; in state_show()
93 dev_err(device, "non-consistent state %x\n", state); in state_show()
94 f_retval = -EIO; in state_show()
103 mutex_unlock(&dev->bus_mutex); in state_show()
112 struct w1_master *dev = sl->master; in output_show()
117 ret = mutex_lock_interruptible(&dev->bus_mutex); in output_show()
132 mutex_unlock(&dev->bus_mutex); in output_show()
142 struct w1_master *dev = sl->master; in output_store()
145 unsigned int val; in output_store() local
149 return -EINVAL; in output_store()
151 if (sscanf(buf, " %u%n", &val, &ret) < 1) in output_store()
152 return -EINVAL; in output_store()
154 if (val != 0 && val != 1) in output_store()
155 return -EINVAL; in output_store()
159 ret = mutex_lock_interruptible(&dev->bus_mutex); in output_store()
169 if (current_pio == val) in output_store()
173 f_retval = -ENODEV; in output_store()
178 * can't use w1_reset_select_slave() here since it uses Skip ROM if in output_store()
182 u64 dev_addr = le64_to_cpu(*(u64 *)&sl->reg_num); in output_store()
193 mutex_unlock(&dev->bus_mutex); in output_store()