Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> writes: > .... >> + struct i2c_bus_recovery_info *bri = &i2c_imx->rinfo; >> >> - dev_dbg(&pdev->dev, "using scl%s for recovery\n", >> - rinfo->sda_gpiod ? ",sda" : ""); >> + bri->pinctrl = devm_pinctrl_get(&pdev->dev); >> + if (IS_ERR(bri->pinctrl)) >> + return PTR_ERR(bri->pinctrl); > > According to the commit message - "pinctrl becomes optional", but this > code stops probe if pinctrl will fail for one or another reason. I do > not see any place returning NULL on fail. Do I'm missing something? The caller, i2c_imx_probe(), does only check for -EPROBE_DEFER, and simply ignores any other error codes. I assume it is on purpose, so any problems with initializing i2c recovery does not cause complete failure of the i2c controller, which seems sane to me. /Esben