Skip to content

Commit 3a9ddaf

Browse files
author
Wolfram Sang
committed
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>
1 parent ef51d3f commit 3a9ddaf

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/i2c/i2c-core.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1594,10 +1594,12 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
15941594

15951595
bri->get_scl = get_scl_gpio_value;
15961596
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) {
15981598
/* Generic SCL recovery */
1599-
dev_err(&adap->dev, "No {get|set}_gpio() found, not using recovery\n");
1600-
adap->bus_recovery_info = NULL;
1599+
if (!bri->set_scl || !bri->get_scl) {
1600+
dev_err(&adap->dev, "No {get|set}_scl() found, not using recovery\n");
1601+
adap->bus_recovery_info = NULL;
1602+
}
16011603
}
16021604
}
16031605

0 commit comments

Comments
 (0)