Re: [PATCH v4 2/2] i2c: Set i2c pinctrl recovery info from it's device pinctrl

From: Andy Shevchenko
Date: Wed Dec 28 2022 - 10:09:42 EST


On Wed, Dec 21, 2022 at 08:51:16PM +0000, Hanna Hawa wrote:
> Currently the i2c subsystem rely on the controller device tree to
> initialize the pinctrl recovery information, part of the drivers does
> not set this field (rinfo->pinctrl), for example i2c designware driver.

DesignWare

> The pins information is saved part of the device structure before probe
> and it's done on pinctrl_bind_pins().
>
> Make the i2c init recovery to get the device pins if it's not
> initialized by the driver from the device pins.

...

> - struct pinctrl *p = bri->pinctrl;
> + struct pinctrl *p;
> +
> + bri->pinctrl = bri->pinctrl ?: dev_pinctrl(dev->parent);
> + p = bri->pinctrl;

What about

struct pinctrl *p = bri->pinctrl ?: dev_pinctrl(dev->parent);

bri->pinctrl = p;

?

Seems like one line of code less.

Either way,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

--
With Best Regards,
Andy Shevchenko