aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/i2c-core.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2016-05-12 05:25:19 -0400
committerWolfram Sang <wsa@the-dreams.de>2016-05-13 06:37:03 -0400
commit3a9ddaf4dca87f86f70b88d7710da20abfc9aca1 (patch)
tree1ed5fc6b0cb2f986a6db2a97a19a3f80200d1fb4 /drivers/i2c/i2c-core.c
parentef51d3ff0da445a2de8f836f0e81881465a18200 (diff)
i2c: only check scl functions when using generic recovery
A custom recovery function doesn't need these pointers to be populated because it may work differently internally. Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Tested-by: Peter Griffin <peter.griffin@linaro.org>
Diffstat (limited to 'drivers/i2c/i2c-core.c')
-rw-r--r--drivers/i2c/i2c-core.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 9da446162529..af11b658984d 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -1594,10 +1594,12 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
1594 1594
1595 bri->get_scl = get_scl_gpio_value; 1595 bri->get_scl = get_scl_gpio_value;
1596 bri->set_scl = set_scl_gpio_value; 1596 bri->set_scl = set_scl_gpio_value;
1597 } else if (!bri->set_scl || !bri->get_scl) { 1597 } else if (bri->recover_bus == i2c_generic_scl_recovery) {
1598 /* Generic SCL recovery */ 1598 /* Generic SCL recovery */
1599 dev_err(&adap->dev, "No {get|set}_gpio() found, not using recovery\n"); 1599 if (!bri->set_scl || !bri->get_scl) {
1600 adap->bus_recovery_info = NULL; 1600 dev_err(&adap->dev, "No {get|set}_scl() found, not using recovery\n");
1601 adap->bus_recovery_info = NULL;
1602 }
1601 } 1603 }
1602 } 1604 }
1603 1605