Lines Matching refs:sl

61 static int w1_f0d_readblock(struct w1_slave *sl, int off, int count, char *buf)
72 if (w1_reset_select_slave(sl))
75 w1_write_block(sl->master, wrbuf, sizeof(wrbuf));
76 w1_read_block(sl->master, buf, count);
78 if (w1_reset_select_slave(sl))
81 w1_write_block(sl->master, wrbuf, sizeof(wrbuf));
82 w1_read_block(sl->master, cmp, count);
88 dev_err(&sl->dev, "proof reading failed %d times\n",
98 struct w1_slave *sl = kobj_to_w1_slave(kobj);
105 mutex_lock(&sl->master->mutex);
116 if (w1_f0d_readblock(sl, off, block_read, buf) < 0) {
126 mutex_unlock(&sl->master->mutex);
138 * @param sl The slave structure
144 static int w1_f0d_write(struct w1_slave *sl, int addr, int len, const u8 *data)
152 dev_err(&sl->dev, "%s: bad addr/len - addr=%#x len=%d\n",
160 if (w1_reset_select_slave(sl))
167 w1_write_block(sl->master, wrbuf, sizeof(wrbuf));
168 w1_write_block(sl->master, data, len);
170 w1_read_block(sl->master, rdbuf, sizeof(rdbuf));
177 dev_err(&sl->dev,
187 w1_write_8(sl->master, W1_F0D_RELEASE);
193 cs = w1_read_8(sl->master);
195 dev_err(&sl->dev, "save to eeprom failed = CS=%#x\n", cs);
206 struct w1_slave *sl = kobj_to_w1_slave(kobj);
214 mutex_lock(&sl->master->mutex);
226 if (w1_f0d_readblock(sl, addr & ~W1_F0D_SCRATCH_MASK,
240 if (w1_f0d_write(sl, addr & ~W1_F0D_SCRATCH_MASK,
248 if (w1_f0d_write(sl, addr, copy, buf) < 0) {
259 mutex_unlock(&sl->master->mutex);
274 static int w1_f0d_add_slave(struct w1_slave *sl)
276 return sysfs_create_bin_file(&sl->dev.kobj, &w1_f0d_bin_attr);
279 static void w1_f0d_remove_slave(struct w1_slave *sl)
281 sysfs_remove_bin_file(&sl->dev.kobj, &w1_f0d_bin_attr);