aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/algos
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/i2c/algos')
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c9
-rw-r--r--drivers/i2c/algos/i2c-algo-pcf.c2
2 files changed, 10 insertions, 1 deletions
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c
index e25e13980af3..e8d568c3fb09 100644
--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -522,6 +522,12 @@ static int bit_xfer(struct i2c_adapter *i2c_adap,
522 int i, ret; 522 int i, ret;
523 unsigned short nak_ok; 523 unsigned short nak_ok;
524 524
525 if (adap->pre_xfer) {
526 ret = adap->pre_xfer(i2c_adap);
527 if (ret < 0)
528 return ret;
529 }
530
525 bit_dbg(3, &i2c_adap->dev, "emitting start condition\n"); 531 bit_dbg(3, &i2c_adap->dev, "emitting start condition\n");
526 i2c_start(adap); 532 i2c_start(adap);
527 for (i = 0; i < num; i++) { 533 for (i = 0; i < num; i++) {
@@ -570,6 +576,9 @@ static int bit_xfer(struct i2c_adapter *i2c_adap,
570bailout: 576bailout:
571 bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n"); 577 bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n");
572 i2c_stop(adap); 578 i2c_stop(adap);
579
580 if (adap->post_xfer)
581 adap->post_xfer(i2c_adap);
573 return ret; 582 return ret;
574} 583}
575 584
diff --git a/drivers/i2c/algos/i2c-algo-pcf.c b/drivers/i2c/algos/i2c-algo-pcf.c
index 7ce75775ec73..6b6bd06202b2 100644
--- a/drivers/i2c/algos/i2c-algo-pcf.c
+++ b/drivers/i2c/algos/i2c-algo-pcf.c
@@ -176,7 +176,7 @@ static int pcf_init_8584 (struct i2c_algo_pcf_data *adap)
176 */ 176 */
177 if (((temp = get_pcf(adap, 1)) & 0x7f) != (0)) { 177 if (((temp = get_pcf(adap, 1)) & 0x7f) != (0)) {
178 DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't select S0 (0x%02x).\n", temp)); 178 DEB2(printk(KERN_ERR "i2c-algo-pcf.o: PCF detection failed -- can't select S0 (0x%02x).\n", temp));
179 return -ENXIO; /* definetly not PCF8584 */ 179 return -ENXIO; /* definitely not PCF8584 */
180 } 180 }
181 181
182 /* load own address in S0, effective address is (own << 1) */ 182 /* load own address in S0, effective address is (own << 1) */