Lines Matching refs:bri

198 	struct i2c_bus_recovery_info *bri = adap->bus_recovery_info;  in i2c_generic_bus_free()  local
201 if (bri->get_bus_free) in i2c_generic_bus_free()
202 ret = bri->get_bus_free(adap); in i2c_generic_bus_free()
203 else if (bri->get_sda) in i2c_generic_bus_free()
204 ret = bri->get_sda(adap); in i2c_generic_bus_free()
222 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_generic_scl_recovery() local
225 if (bri->prepare_recovery) in i2c_generic_scl_recovery()
226 bri->prepare_recovery(adap); in i2c_generic_scl_recovery()
227 if (bri->pinctrl) in i2c_generic_scl_recovery()
228 pinctrl_select_state(bri->pinctrl, bri->pins_gpio); in i2c_generic_scl_recovery()
237 bri->set_scl(adap, scl); in i2c_generic_scl_recovery()
239 if (bri->set_sda) in i2c_generic_scl_recovery()
240 bri->set_sda(adap, scl); in i2c_generic_scl_recovery()
249 if (!bri->get_scl(adap)) { in i2c_generic_scl_recovery()
258 bri->set_scl(adap, scl); in i2c_generic_scl_recovery()
267 if (bri->set_sda) in i2c_generic_scl_recovery()
268 bri->set_sda(adap, scl); in i2c_generic_scl_recovery()
282 if (bri->unprepare_recovery) in i2c_generic_scl_recovery()
283 bri->unprepare_recovery(adap); in i2c_generic_scl_recovery()
284 if (bri->pinctrl) in i2c_generic_scl_recovery()
285 pinctrl_select_state(bri->pinctrl, bri->pins_default); in i2c_generic_scl_recovery()
303 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_gpio_init_pinctrl_recovery() local
305 struct pinctrl *p = bri->pinctrl ?: dev_pinctrl(dev->parent); in i2c_gpio_init_pinctrl_recovery()
307 bri->pinctrl = p; in i2c_gpio_init_pinctrl_recovery()
314 bri->pins_default = NULL; in i2c_gpio_init_pinctrl_recovery()
315 bri->pins_gpio = NULL; in i2c_gpio_init_pinctrl_recovery()
319 if (!bri->pins_default) { in i2c_gpio_init_pinctrl_recovery()
320 bri->pins_default = pinctrl_lookup_state(p, in i2c_gpio_init_pinctrl_recovery()
322 if (IS_ERR(bri->pins_default)) { in i2c_gpio_init_pinctrl_recovery()
324 bri->pins_default = NULL; in i2c_gpio_init_pinctrl_recovery()
327 if (!bri->pins_gpio) { in i2c_gpio_init_pinctrl_recovery()
328 bri->pins_gpio = pinctrl_lookup_state(p, "gpio"); in i2c_gpio_init_pinctrl_recovery()
329 if (IS_ERR(bri->pins_gpio)) in i2c_gpio_init_pinctrl_recovery()
330 bri->pins_gpio = pinctrl_lookup_state(p, "recovery"); in i2c_gpio_init_pinctrl_recovery()
332 if (IS_ERR(bri->pins_gpio)) { in i2c_gpio_init_pinctrl_recovery()
334 bri->pins_gpio = NULL; in i2c_gpio_init_pinctrl_recovery()
339 if (bri->pins_default && bri->pins_gpio) { in i2c_gpio_init_pinctrl_recovery()
342 bri->pinctrl = NULL; in i2c_gpio_init_pinctrl_recovery()
343 bri->pins_default = NULL; in i2c_gpio_init_pinctrl_recovery()
344 bri->pins_gpio = NULL; in i2c_gpio_init_pinctrl_recovery()
350 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_gpio_init_generic_recovery() local
359 if (bri->recover_bus && bri->recover_bus != i2c_generic_scl_recovery) in i2c_gpio_init_generic_recovery()
366 if (bri->pinctrl) in i2c_gpio_init_generic_recovery()
367 pinctrl_select_state(bri->pinctrl, bri->pins_gpio); in i2c_gpio_init_generic_recovery()
373 if (!bri->scl_gpiod) { in i2c_gpio_init_generic_recovery()
380 bri->scl_gpiod = gpiod; in i2c_gpio_init_generic_recovery()
381 bri->recover_bus = i2c_generic_scl_recovery; in i2c_gpio_init_generic_recovery()
387 if (!bri->sda_gpiod) { in i2c_gpio_init_generic_recovery()
392 gpiod_direction_output(bri->scl_gpiod, 0); in i2c_gpio_init_generic_recovery()
398 gpiod_direction_output(bri->scl_gpiod, 1); in i2c_gpio_init_generic_recovery()
405 bri->sda_gpiod = gpiod; in i2c_gpio_init_generic_recovery()
410 if (bri->pinctrl) in i2c_gpio_init_generic_recovery()
411 pinctrl_select_state(bri->pinctrl, bri->pins_default); in i2c_gpio_init_generic_recovery()
424 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; in i2c_init_recovery() local
428 if (!bri) in i2c_init_recovery()
434 if (!bri->recover_bus) { in i2c_init_recovery()
440 if (bri->scl_gpiod && bri->recover_bus == i2c_generic_scl_recovery) { in i2c_init_recovery()
441 bri->get_scl = get_scl_gpio_value; in i2c_init_recovery()
442 bri->set_scl = set_scl_gpio_value; in i2c_init_recovery()
443 if (bri->sda_gpiod) { in i2c_init_recovery()
444 bri->get_sda = get_sda_gpio_value; in i2c_init_recovery()
446 if (gpiod_get_direction(bri->sda_gpiod) == 0) in i2c_init_recovery()
447 bri->set_sda = set_sda_gpio_value; in i2c_init_recovery()
449 } else if (bri->recover_bus == i2c_generic_scl_recovery) { in i2c_init_recovery()
451 if (!bri->set_scl || !bri->get_scl) { in i2c_init_recovery()
455 if (!bri->set_sda && !bri->get_sda) { in i2c_init_recovery()