diff options
author | Wolfram Sang <wsa@the-dreams.de> | 2016-05-12 05:25:19 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2016-05-13 06:37:03 -0400 |
commit | 3a9ddaf4dca87f86f70b88d7710da20abfc9aca1 (patch) | |
tree | 1ed5fc6b0cb2f986a6db2a97a19a3f80200d1fb4 /drivers/i2c/i2c-core.c | |
parent | ef51d3ff0da445a2de8f836f0e81881465a18200 (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.c | 8 |
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 | ||