i2c: imx: switch to using gpiod for bus recovery gpios
Change the driver to use the gpio descriptors for the bus recovery information instead of the deprecated integer interface. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Phil Reid <preid@electromag.com.au> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
ca382f5b38
commit
ad36a27959
@ -1006,26 +1006,26 @@ static int i2c_imx_init_recovery_info(struct imx_i2c_struct *i2c_imx,
|
|||||||
PINCTRL_STATE_DEFAULT);
|
PINCTRL_STATE_DEFAULT);
|
||||||
i2c_imx->pinctrl_pins_gpio = pinctrl_lookup_state(i2c_imx->pinctrl,
|
i2c_imx->pinctrl_pins_gpio = pinctrl_lookup_state(i2c_imx->pinctrl,
|
||||||
"gpio");
|
"gpio");
|
||||||
rinfo->sda_gpio = of_get_named_gpio(pdev->dev.of_node, "sda-gpios", 0);
|
rinfo->sda_gpiod = devm_gpiod_get(&pdev->dev, "sda", GPIOD_OUT_HIGH);
|
||||||
rinfo->scl_gpio = of_get_named_gpio(pdev->dev.of_node, "scl-gpios", 0);
|
rinfo->scl_gpiod = devm_gpiod_get(&pdev->dev, "scl", GPIOD_IN);
|
||||||
|
|
||||||
if (rinfo->sda_gpio == -EPROBE_DEFER ||
|
if (PTR_ERR(rinfo->sda_gpiod) == -EPROBE_DEFER ||
|
||||||
rinfo->scl_gpio == -EPROBE_DEFER) {
|
PTR_ERR(rinfo->scl_gpiod) == -EPROBE_DEFER) {
|
||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
} else if (!gpio_is_valid(rinfo->sda_gpio) ||
|
} else if (IS_ERR(rinfo->sda_gpiod) ||
|
||||||
!gpio_is_valid(rinfo->scl_gpio) ||
|
IS_ERR(rinfo->scl_gpiod) ||
|
||||||
IS_ERR(i2c_imx->pinctrl_pins_default) ||
|
IS_ERR(i2c_imx->pinctrl_pins_default) ||
|
||||||
IS_ERR(i2c_imx->pinctrl_pins_gpio)) {
|
IS_ERR(i2c_imx->pinctrl_pins_gpio)) {
|
||||||
dev_dbg(&pdev->dev, "recovery information incomplete\n");
|
dev_dbg(&pdev->dev, "recovery information incomplete\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_dbg(&pdev->dev, "using scl-gpio %d and sda-gpio %d for recovery\n",
|
dev_dbg(&pdev->dev, "using scl%s for recovery\n",
|
||||||
rinfo->scl_gpio, rinfo->sda_gpio);
|
rinfo->sda_gpiod ? ",sda" : "");
|
||||||
|
|
||||||
rinfo->prepare_recovery = i2c_imx_prepare_recovery;
|
rinfo->prepare_recovery = i2c_imx_prepare_recovery;
|
||||||
rinfo->unprepare_recovery = i2c_imx_unprepare_recovery;
|
rinfo->unprepare_recovery = i2c_imx_unprepare_recovery;
|
||||||
rinfo->recover_bus = i2c_generic_gpio_recovery;
|
rinfo->recover_bus = i2c_generic_scl_recovery;
|
||||||
i2c_imx->adapter.bus_recovery_info = rinfo;
|
i2c_imx->adapter.bus_recovery_info = rinfo;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user