Lines Matching refs:bri

156 	struct i2c_bus_recovery_info *bri = adap->bus_recovery_info;  in i2c_generic_bus_free()  local
159 if (bri->get_bus_free) in i2c_generic_bus_free()
160 ret = bri->get_bus_free(adap); in i2c_generic_bus_free()
161 else if (bri->get_sda) in i2c_generic_bus_free()
162 ret = bri->get_sda(adap); in i2c_generic_bus_free()
180 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_generic_scl_recovery() local
183 if (bri->prepare_recovery) in i2c_generic_scl_recovery()
184 bri->prepare_recovery(adap); in i2c_generic_scl_recovery()
185 if (bri->pinctrl) in i2c_generic_scl_recovery()
186 pinctrl_select_state(bri->pinctrl, bri->pins_gpio); in i2c_generic_scl_recovery()
195 bri->set_scl(adap, scl); in i2c_generic_scl_recovery()
197 if (bri->set_sda) in i2c_generic_scl_recovery()
198 bri->set_sda(adap, scl); in i2c_generic_scl_recovery()
207 if (!bri->get_scl(adap)) { in i2c_generic_scl_recovery()
216 bri->set_scl(adap, scl); in i2c_generic_scl_recovery()
225 if (bri->set_sda) in i2c_generic_scl_recovery()
226 bri->set_sda(adap, scl); in i2c_generic_scl_recovery()
240 if (bri->unprepare_recovery) in i2c_generic_scl_recovery()
241 bri->unprepare_recovery(adap); in i2c_generic_scl_recovery()
242 if (bri->pinctrl) in i2c_generic_scl_recovery()
243 pinctrl_select_state(bri->pinctrl, bri->pins_default); in i2c_generic_scl_recovery()
261 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_gpio_init_pinctrl_recovery() local
263 struct pinctrl *p = bri->pinctrl; in i2c_gpio_init_pinctrl_recovery()
270 bri->pins_default = NULL; in i2c_gpio_init_pinctrl_recovery()
271 bri->pins_gpio = NULL; in i2c_gpio_init_pinctrl_recovery()
275 if (!bri->pins_default) { in i2c_gpio_init_pinctrl_recovery()
276 bri->pins_default = pinctrl_lookup_state(p, in i2c_gpio_init_pinctrl_recovery()
278 if (IS_ERR(bri->pins_default)) { in i2c_gpio_init_pinctrl_recovery()
280 bri->pins_default = NULL; in i2c_gpio_init_pinctrl_recovery()
283 if (!bri->pins_gpio) { in i2c_gpio_init_pinctrl_recovery()
284 bri->pins_gpio = pinctrl_lookup_state(p, "gpio"); in i2c_gpio_init_pinctrl_recovery()
285 if (IS_ERR(bri->pins_gpio)) in i2c_gpio_init_pinctrl_recovery()
286 bri->pins_gpio = pinctrl_lookup_state(p, "recovery"); in i2c_gpio_init_pinctrl_recovery()
288 if (IS_ERR(bri->pins_gpio)) { in i2c_gpio_init_pinctrl_recovery()
290 bri->pins_gpio = NULL; in i2c_gpio_init_pinctrl_recovery()
295 if (bri->pins_default && bri->pins_gpio) { in i2c_gpio_init_pinctrl_recovery()
298 bri->pinctrl = NULL; in i2c_gpio_init_pinctrl_recovery()
299 bri->pins_default = NULL; in i2c_gpio_init_pinctrl_recovery()
300 bri->pins_gpio = NULL; in i2c_gpio_init_pinctrl_recovery()
306 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_gpio_init_generic_recovery() local
315 if (bri->recover_bus && bri->recover_bus != i2c_generic_scl_recovery) in i2c_gpio_init_generic_recovery()
322 if (bri->pinctrl) in i2c_gpio_init_generic_recovery()
323 pinctrl_select_state(bri->pinctrl, bri->pins_gpio); in i2c_gpio_init_generic_recovery()
329 if (!bri->scl_gpiod) { in i2c_gpio_init_generic_recovery()
336 bri->scl_gpiod = gpiod; in i2c_gpio_init_generic_recovery()
337 bri->recover_bus = i2c_generic_scl_recovery; in i2c_gpio_init_generic_recovery()
343 if (!bri->sda_gpiod) { in i2c_gpio_init_generic_recovery()
348 gpiod_direction_output(bri->scl_gpiod, 0); in i2c_gpio_init_generic_recovery()
354 gpiod_direction_output(bri->scl_gpiod, 1); in i2c_gpio_init_generic_recovery()
361 bri->sda_gpiod = gpiod; in i2c_gpio_init_generic_recovery()
366 if (bri->pinctrl) in i2c_gpio_init_generic_recovery()
367 pinctrl_select_state(bri->pinctrl, bri->pins_default); in i2c_gpio_init_generic_recovery()
380 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_init_recovery() local
383 if (!bri) in i2c_init_recovery()
389 if (!bri->recover_bus) { in i2c_init_recovery()
394 if (bri->scl_gpiod && bri->recover_bus == i2c_generic_scl_recovery) { in i2c_init_recovery()
395 bri->get_scl = get_scl_gpio_value; in i2c_init_recovery()
396 bri->set_scl = set_scl_gpio_value; in i2c_init_recovery()
397 if (bri->sda_gpiod) { in i2c_init_recovery()
398 bri->get_sda = get_sda_gpio_value; in i2c_init_recovery()
400 if (gpiod_get_direction(bri->sda_gpiod) == 0) in i2c_init_recovery()
401 bri->set_sda = set_sda_gpio_value; in i2c_init_recovery()
403 } else if (bri->recover_bus == i2c_generic_scl_recovery) { in i2c_init_recovery()
405 if (!bri->set_scl || !bri->get_scl) { in i2c_init_recovery()
409 if (!bri->set_sda && !bri->get_sda) { in i2c_init_recovery()