Lines Matching refs:adap

63 #define setsda(adap, val)	adap->setsda(adap->data, val)
64 #define setscl(adap, val) adap->setscl(adap->data, val)
65 #define getsda(adap) adap->getsda(adap->data)
66 #define getscl(adap) adap->getscl(adap->data)
68 static inline void sdalo(struct i2c_algo_bit_data *adap)
70 setsda(adap, 0);
71 udelay((adap->udelay + 1) / 2);
74 static inline void sdahi(struct i2c_algo_bit_data *adap)
76 setsda(adap, 1);
77 udelay((adap->udelay + 1) / 2);
80 static inline void scllo(struct i2c_algo_bit_data *adap)
82 setscl(adap, 0);
83 udelay(adap->udelay / 2);
90 static int sclhi(struct i2c_algo_bit_data *adap)
94 setscl(adap, 1);
97 if (!adap->getscl)
101 while (!getscl(adap)) {
107 if (time_after(jiffies, start + adap->timeout)) {
111 if (getscl(adap))
124 udelay(adap->udelay);
130 static void i2c_start(struct i2c_algo_bit_data *adap)
133 setsda(adap, 0);
134 udelay(adap->udelay);
135 scllo(adap);
138 static void i2c_repstart(struct i2c_algo_bit_data *adap)
141 sdahi(adap);
142 sclhi(adap);
143 setsda(adap, 0);
144 udelay(adap->udelay);
145 scllo(adap);
149 static void i2c_stop(struct i2c_algo_bit_data *adap)
152 sdalo(adap);
153 sclhi(adap);
154 setsda(adap, 1);
155 udelay(adap->udelay);
172 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
177 setsda(adap, sb);
178 udelay((adap->udelay + 1) / 2);
179 if (sclhi(adap) < 0) { /* timed out */
185 * if (sb && !getsda(adap)) -> ouch! Get out of here.
190 scllo(adap);
192 sdahi(adap);
193 if (sclhi(adap) < 0) { /* timeout */
202 ack = !getsda(adap); /* ack: sda is pulled low -> success */
206 scllo(adap);
218 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
221 sdahi(adap);
223 if (sclhi(adap) < 0) { /* timeout */
229 if (getsda(adap))
231 setscl(adap, 0);
232 udelay(i == 7 ? adap->udelay / 2 : adap->udelay);
244 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
248 if (adap->pre_xfer) {
249 ret = adap->pre_xfer(i2c_adap);
254 if (adap->getscl == NULL)
257 sda = getsda(adap);
258 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
266 sdalo(adap);
267 sda = getsda(adap);
268 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
279 sdahi(adap);
280 sda = getsda(adap);
281 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
292 scllo(adap);
293 sda = getsda(adap);
294 scl = (adap->getscl == NULL) ? 0 : getscl(adap);
305 sclhi(adap);
306 sda = getsda(adap);
307 scl = (adap->getscl == NULL) ? 1 : getscl(adap);
318 if (adap->post_xfer)
319 adap->post_xfer(i2c_adap);
324 sdahi(adap);
325 sclhi(adap);
327 if (adap->post_xfer)
328 adap->post_xfer(i2c_adap);
346 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
354 i2c_stop(adap);
355 udelay(adap->udelay);
358 i2c_start(adap);
411 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
415 setsda(adap, 0);
416 udelay((adap->udelay + 1) / 2);
417 if (sclhi(adap) < 0) { /* timeout */
421 scllo(adap);
489 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
517 i2c_repstart(adap);
545 struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
549 if (adap->pre_xfer) {
550 ret = adap->pre_xfer(i2c_adap);
556 i2c_start(adap);
564 i2c_repstart(adap);
602 i2c_stop(adap);
604 if (adap->post_xfer)
605 adap->post_xfer(i2c_adap);
609 static u32 bit_func(struct i2c_adapter *adap)
629 static int __i2c_bit_add_bus(struct i2c_adapter *adap,
632 struct i2c_algo_bit_data *bit_adap = adap->algo_data;
636 ret = test_bus(adap);
642 adap->algo = &i2c_bit_algo;
643 adap->retries = 3;
645 ret = add_adapter(adap);
651 dev_warn(&adap->dev, "Not I2C compliant: can't read SCL\n");
652 dev_warn(&adap->dev, "Bus may be unreliable\n");
657 int i2c_bit_add_bus(struct i2c_adapter *adap)
659 return __i2c_bit_add_bus(adap, i2c_add_adapter);
663 int i2c_bit_add_numbered_bus(struct i2c_adapter *adap)
665 return __i2c_bit_add_bus(adap, i2c_add_numbered_adapter);