Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a9ddaf4 authored by Wolfram Sang's avatar Wolfram Sang
Browse files

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: default avatarWolfram Sang <wsa@the-dreams.de>
Tested-by: default avatarPeter Griffin <peter.griffin@linaro.org>
parent ef51d3ff
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1594,12 +1594,14 @@ static int i2c_register_adapter(struct i2c_adapter *adap)

			bri->get_scl = get_scl_gpio_value;
			bri->set_scl = set_scl_gpio_value;
		} else if (!bri->set_scl || !bri->get_scl) {
		} else if (bri->recover_bus == i2c_generic_scl_recovery) {
			/* Generic SCL recovery */
			dev_err(&adap->dev, "No {get|set}_gpio() found, not using recovery\n");
			if (!bri->set_scl || !bri->get_scl) {
				dev_err(&adap->dev, "No {get|set}_scl() found, not using recovery\n");
				adap->bus_recovery_info = NULL;
			}
		}
	}

exit_recovery:
	/* create pre-declared device nodes */