Lines Matching refs:sl

38 static int _read_reg(struct w1_slave *sl, u8 address, unsigned char *buf)
42 dev_dbg(&sl->dev, "Reading with slave: %p, reg addr: %0#4x, buff addr: %p",
43 sl, (unsigned int)address, buf);
48 mutex_lock(&sl->master->bus_mutex);
49 dev_dbg(&sl->dev, "mutex locked");
51 if (w1_reset_select_slave(sl)) {
52 mutex_unlock(&sl->master->bus_mutex);
59 w1_write_block(sl->master, wrbuf, 3);
60 *buf = w1_read_8(sl->master);
62 mutex_unlock(&sl->master->bus_mutex);
63 dev_dbg(&sl->dev, "mutex unlocked");
140 static bool optional_read_back_valid(struct w1_slave *sl, u8 expected)
144 if (w1_reset_resume_command(sl->master))
151 w1_write_block(sl->master, w1_buf, 3);
153 return (w1_read_8(sl->master) == expected);
156 static bool optional_read_back_valid(struct w1_slave *sl, u8 expected)
166 struct w1_slave *sl = kobj_to_w1_slave(kobj);
174 dev_dbg(&sl->dev, "locking mutex for write_output");
175 mutex_lock(&sl->master->bus_mutex);
176 dev_dbg(&sl->dev, "mutex locked");
178 if (w1_reset_select_slave(sl))
186 w1_write_block(sl->master, w1_buf, 3);
188 if (w1_read_8(sl->master) == W1_F29_SUCCESS_CONFIRM_BYTE &&
189 optional_read_back_valid(sl, *buf)) {
194 if (w1_reset_resume_command(sl->master))
200 mutex_unlock(&sl->master->bus_mutex);
202 dev_dbg(&sl->dev, "%s, mutex unlocked retries:%d\n",
216 struct w1_slave *sl = kobj_to_w1_slave(kobj);
222 mutex_lock(&sl->master->bus_mutex);
224 if (w1_reset_select_slave(sl))
228 w1_write_8(sl->master, W1_F29_FUNC_RESET_ACTIVITY_LATCHES);
229 if (w1_read_8(sl->master) == W1_F29_SUCCESS_CONFIRM_BYTE) {
230 mutex_unlock(&sl->master->bus_mutex);
233 if (w1_reset_resume_command(sl->master))
238 mutex_unlock(&sl->master->bus_mutex);
246 struct w1_slave *sl = kobj_to_w1_slave(kobj);
253 mutex_lock(&sl->master->bus_mutex);
255 if (w1_reset_select_slave(sl))
264 w1_write_block(sl->master, w1_buf, 4);
265 if (w1_reset_resume_command(sl->master))
272 w1_write_block(sl->master, w1_buf, 3);
273 if (w1_read_8(sl->master) == *buf) {
275 mutex_unlock(&sl->master->bus_mutex);
280 mutex_unlock(&sl->master->bus_mutex);
291 static int w1_f29_disable_test_mode(struct w1_slave *sl)
295 u64 rn = le64_to_cpu(*((u64 *)&sl->reg_num));
300 mutex_lock(&sl->master->bus_mutex);
302 res = w1_reset_bus(sl->master);
305 w1_write_block(sl->master, magic, ARRAY_SIZE(magic));
307 res = w1_reset_bus(sl->master);
309 mutex_unlock(&sl->master->bus_mutex);