Lines Matching refs:dev

44 static void w1_write_bit(struct w1_master *dev, int bit);
45 static u8 w1_read_bit(struct w1_master *dev);
52 u8 w1_touch_bit(struct w1_master *dev, int bit) in w1_touch_bit() argument
54 if (dev->bus_master->touch_bit) in w1_touch_bit()
55 return dev->bus_master->touch_bit(dev->bus_master->data, bit); in w1_touch_bit()
57 return w1_read_bit(dev); in w1_touch_bit()
59 w1_write_bit(dev, 0); in w1_touch_bit()
72 static void w1_write_bit(struct w1_master *dev, int bit) in w1_write_bit() argument
79 dev->bus_master->write_bit(dev->bus_master->data, 0); in w1_write_bit()
81 dev->bus_master->write_bit(dev->bus_master->data, 1); in w1_write_bit()
84 dev->bus_master->write_bit(dev->bus_master->data, 0); in w1_write_bit()
86 dev->bus_master->write_bit(dev->bus_master->data, 1); in w1_write_bit()
101 static void w1_pre_write(struct w1_master *dev) in w1_pre_write() argument
103 if (dev->pullup_duration && in w1_pre_write()
104 dev->enable_pullup && dev->bus_master->set_pullup) { in w1_pre_write()
105 dev->bus_master->set_pullup(dev->bus_master->data, in w1_pre_write()
106 dev->pullup_duration); in w1_pre_write()
118 static void w1_post_write(struct w1_master *dev) in w1_post_write() argument
120 if (dev->pullup_duration) { in w1_post_write()
121 if (dev->enable_pullup && dev->bus_master->set_pullup) in w1_post_write()
122 dev->bus_master->set_pullup(dev->bus_master->data, 0); in w1_post_write()
124 msleep(dev->pullup_duration); in w1_post_write()
125 dev->pullup_duration = 0; in w1_post_write()
134 void w1_write_8(struct w1_master *dev, u8 byte) in w1_write_8() argument
138 if (dev->bus_master->write_byte) { in w1_write_8()
139 w1_pre_write(dev); in w1_write_8()
140 dev->bus_master->write_byte(dev->bus_master->data, byte); in w1_write_8()
145 w1_pre_write(dev); in w1_write_8()
146 w1_touch_bit(dev, (byte >> i) & 0x1); in w1_write_8()
148 w1_post_write(dev); in w1_write_8()
159 static u8 w1_read_bit(struct w1_master *dev) in w1_read_bit() argument
166 dev->bus_master->write_bit(dev->bus_master->data, 0); in w1_read_bit()
168 dev->bus_master->write_bit(dev->bus_master->data, 1); in w1_read_bit()
171 result = dev->bus_master->read_bit(dev->bus_master->data); in w1_read_bit()
193 u8 w1_triplet(struct w1_master *dev, int bdir) in w1_triplet() argument
195 if (dev->bus_master->triplet) in w1_triplet()
196 return dev->bus_master->triplet(dev->bus_master->data, bdir); in w1_triplet()
198 u8 id_bit = w1_touch_bit(dev, 1); in w1_triplet()
199 u8 comp_bit = w1_touch_bit(dev, 1); in w1_triplet()
214 if (dev->bus_master->touch_bit) in w1_triplet()
215 w1_touch_bit(dev, bdir); in w1_triplet()
217 w1_write_bit(dev, bdir); in w1_triplet()
229 u8 w1_read_8(struct w1_master *dev) in w1_read_8() argument
234 if (dev->bus_master->read_byte) in w1_read_8()
235 res = dev->bus_master->read_byte(dev->bus_master->data); in w1_read_8()
238 res |= (w1_touch_bit(dev,1) << i); in w1_read_8()
250 void w1_write_block(struct w1_master *dev, const u8 *buf, int len) in w1_write_block() argument
254 if (dev->bus_master->write_block) { in w1_write_block()
255 w1_pre_write(dev); in w1_write_block()
256 dev->bus_master->write_block(dev->bus_master->data, buf, len); in w1_write_block()
260 w1_write_8(dev, buf[i]); /* calls w1_pre_write */ in w1_write_block()
261 w1_post_write(dev); in w1_write_block()
271 void w1_touch_block(struct w1_master *dev, u8 *buf, int len) in w1_touch_block() argument
280 w1_pre_write(dev); in w1_touch_block()
281 tmp |= w1_touch_bit(dev, (buf[i] >> j) & 0x1) << j; in w1_touch_block()
296 u8 w1_read_block(struct w1_master *dev, u8 *buf, int len) in w1_read_block() argument
301 if (dev->bus_master->read_block) in w1_read_block()
302 ret = dev->bus_master->read_block(dev->bus_master->data, buf, len); in w1_read_block()
305 buf[i] = w1_read_8(dev); in w1_read_block()
318 int w1_reset_bus(struct w1_master *dev) in w1_reset_bus() argument
325 if (dev->bus_master->reset_bus) in w1_reset_bus()
326 result = dev->bus_master->reset_bus(dev->bus_master->data) & 0x1; in w1_reset_bus()
328 dev->bus_master->write_bit(dev->bus_master->data, 0); in w1_reset_bus()
337 dev->bus_master->write_bit(dev->bus_master->data, 1); in w1_reset_bus()
340 result = dev->bus_master->read_bit(dev->bus_master->data) & 0x1; in w1_reset_bus()
366 void w1_search_devices(struct w1_master *dev, u8 search_type, w1_slave_found_callback cb) in w1_search_devices() argument
368 dev->attempts++; in w1_search_devices()
369 if (dev->bus_master->search) in w1_search_devices()
370 dev->bus_master->search(dev->bus_master->data, dev, in w1_search_devices()
373 w1_search(dev, search_type, cb); in w1_search_devices()
421 int w1_reset_resume_command(struct w1_master *dev) in w1_reset_resume_command() argument
423 if (w1_reset_bus(dev)) in w1_reset_resume_command()
426 w1_write_8(dev, dev->slave_count > 1 ? W1_RESUME_CMD : W1_SKIP_ROM); in w1_reset_resume_command()
445 void w1_next_pullup(struct w1_master *dev, int delay) in w1_next_pullup() argument
447 dev->pullup_duration = delay; in w1_next_pullup()