Lines Matching defs:adap

48 #define setsda(adap, val)	adap->setsda(adap->data, val)
49 #define setscl(adap, val) adap->setscl(adap->data, val)
50 #define getsda(adap) adap->getsda(adap->data)
51 #define getscl(adap) adap->getscl(adap->data)
53 static inline void sdalo(struct i2c_algo_bit_data *adap)
55 setsda(adap, 0);
56 udelay((adap->udelay + 1) / 2);
59 static inline void sdahi(struct i2c_algo_bit_data *adap)
61 setsda(adap, 1);
62 udelay((adap->udelay + 1) / 2);
65 static inline void scllo(struct i2c_algo_bit_data *adap)
67 setscl(adap, 0);
68 udelay(adap->udelay / 2);
75 static int sclhi(struct i2c_algo_bit_data *adap)
79 setscl(adap, 1);
82 if (!adap->getscl)
86 while (!getscl(adap)) {
92 if (time_after(jiffies, start + adap->timeout)) {
96 if (getscl(adap))
109 udelay(adap->udelay);
115 static void i2c_start(struct i2c_algo_bit_data *adap)
118 setsda(adap, 0);
119 udelay(adap->udelay);
120 scllo(adap);
123 static void i2c_repstart(struct i2c_algo_bit_data *adap)
126 sdahi(adap);
127 sclhi(adap);
128 setsda(adap, 0);
129 udelay(adap->udelay);
130 scllo(adap);
134 static void i2c_stop(struct i2c_algo_bit_data *adap)
137 sdalo(adap);
138 sclhi(adap);
139 setsda(adap, 1);
140 udelay(adap->udelay);
157 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
162 setsda(adap, sb);
163 udelay((adap->udelay + 1) / 2);
164 if (sclhi(adap) < 0) { /* timed out */
171 * if (sb && !getsda(adap)) -> ouch! Get out of here.
176 scllo(adap);
178 sdahi(adap);
179 if (sclhi(adap) < 0) { /* timeout */
188 ack = !getsda(adap); /* ack: sda is pulled low -> success */
192 scllo(adap);
204 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
207 sdahi(adap);
209 if (sclhi(adap) < 0) { /* timeout */
216 if (getsda(adap))
218 setscl(adap, 0);
219 udelay(i == 7 ? adap->udelay / 2 : adap->udelay);
231 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
235 if (adap->pre_xfer) {
236 ret = adap->pre_xfer(i2c_adap);
241 if (adap->getscl == NULL)
244 sda = getsda(adap);
245 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
253 sdalo(adap);
254 sda = getsda(adap);
255 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
267 sdahi(adap);
268 sda = getsda(adap);
269 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
281 scllo(adap);
282 sda = getsda(adap);
283 scl = (adap->getscl == NULL) ? 0 : getscl(adap);
295 sclhi(adap);
296 sda = getsda(adap);
297 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
309 if (adap->post_xfer)
310 adap->post_xfer(i2c_adap);
315 sdahi(adap);
316 sclhi(adap);
318 if (adap->post_xfer)
319 adap->post_xfer(i2c_adap);
337 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
345 i2c_stop(adap);
346 udelay(adap->udelay);
349 i2c_start(adap);
402 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
406 setsda(adap, 0);
407 udelay((adap->udelay + 1) / 2);
408 if (sclhi(adap) < 0) { /* timeout */
412 scllo(adap);
481 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
509 i2c_repstart(adap);
535 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
539 if (adap->pre_xfer) {
540 ret = adap->pre_xfer(i2c_adap);
546 i2c_start(adap);
555 i2c_stop(adap);
556 i2c_start(adap);
560 i2c_repstart(adap);
599 i2c_stop(adap);
601 if (adap->post_xfer)
602 adap->post_xfer(i2c_adap);
615 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
617 if (!adap->can_do_atomic)
623 static u32 bit_func(struct i2c_adapter *adap)
648 static int __i2c_bit_add_bus(struct i2c_adapter *adap,
651 struct i2c_algo_bit_data *bit_adap = adap->algo_data;
655 ret = test_bus(adap);
661 adap->algo = &i2c_bit_algo;
662 adap->retries = 3;
664 adap->quirks = &i2c_bit_quirk_no_clk_stretch;
671 ret = add_adapter(adap);
677 dev_warn(&adap->dev, "Not I2C compliant: can't read SCL\n");
678 dev_warn(&adap->dev, "Bus may be unreliable\n");
683 int i2c_bit_add_bus(struct i2c_adapter *adap)
685 return __i2c_bit_add_bus(adap, i2c_add_adapter);
689 int i2c_bit_add_numbered_bus(struct i2c_adapter *adap)
691 return __i2c_bit_add_bus(adap, i2c_add_numbered_adapter);