Re: [PATCH v2 1/1] i2c: designware: set pinctrl recovery information from device pinctrl

Hawa, Hanna
2022-12-15T08:15:47Z

On 12/14/2022 6:09 PM, Andy Shevchenko wrote:
> ...should be located here.
>
> ...

Ack - will move them.

>
>> + if (dev->dev->pins && dev->dev->pins->p)
>> + rinfo->pinctrl = dev->dev->pins->p;
> Hmm... I don't see how this field is being used.
> Can you elaborate?

This field is used in i2c_generic_scl_recovery(), if it's not NULL then
the flow will set the state to GPIO before running the recovery mechanism.
if (bri->pinctrl)
pinctrl_select_state(bri->pinctrl, bri->pins_gpio);

.
.

I saw that that the change failed in complication for SPARC
architecture, as the pins field is wraparound with CONFIG_PINCTRL in
device struct. I though on two options to solve the compilation error,
first by adding wraparound of CONFIG_PINCTRL when accessing the pins
field. And the second option is to add get function in pinctrl/devinfo.h
file, which return the pins field, or NULL in case the PINCTRL is not
defined. Which option you think we can go with?