Lines Matching refs:addr
139 * @param addr Address for the write
140 * @param len length must be <= (W1_F0D_PAGE_SIZE - (addr & W1_F0D_PAGE_MASK))
144 static int w1_f0d_write(struct w1_slave *sl, int addr, int len, const u8 *data)
151 if ((addr & 1) || (len != 2)) {
152 dev_err(&sl->dev, "%s: bad addr/len - addr=%#x len=%d\n",
153 __func__, addr, len);
164 wrbuf[1] = addr & 0xff;
207 int addr, len;
217 addr = off;
221 /* if len too short or addr not aligned */
222 if (len < W1_F0D_SCRATCH_SIZE || addr & W1_F0D_SCRATCH_MASK) {
226 if (w1_f0d_readblock(sl, addr & ~W1_F0D_SCRATCH_MASK,
234 (addr & W1_F0D_SCRATCH_MASK);
239 memcpy(&tmp[addr & W1_F0D_SCRATCH_MASK], buf, copy);
240 if (w1_f0d_write(sl, addr & ~W1_F0D_SCRATCH_MASK,
248 if (w1_f0d_write(sl, addr, copy, buf) < 0) {
254 addr += copy;