Re: [PATCH v2 1/2] gpio: tps65219: add GPIO support for TPS65219 PMIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* jerome Neanne <jneanne@xxxxxxxxxxxx> [230512 07:13]:
> 
> 
> On 11/05/2023 22:57, Linus Walleij wrote:
> > > +       /* Documentation is stating that GPIO0 direction must not be changed in Linux:
> > > +        * Table 8-34. MFP_1_CONFIG(3): MULTI_DEVICE_ENABLE,
> > > +        * Should only be changed in INITIALIZE state (prior to ON Request).
> > > +        * Set statically by NVM, changing direction in application can cause a hang.
> > > +        * Below can be used for test purpose only:
> > > +        */
> > > +
> > > +#if 0
> > > +       int ret = regmap_update_bits(gpio->tps->regmap, TPS65219_REG_MFP_1_CONFIG,
> > > +                                TPS65219_GPIO0_DIR_MASK, direction);
> > > +       if (ret)
> > > +               return ret;
> > > +#endif
> > > +       dev_err(gpio->tps->dev,
> > > +               "GPIO%d direction set by NVM, change to %u failed, not allowed by specification\n",
> > > +                offset, direction);
> > > +       return -EOPNOTSUPP;
> > > +}
> > 
> > Normally people would complain about #if 0 code.
> > 
> > But this is a special case!
> > 
> > I definitely want the code to be in there somehow.
> > 
> > What about:
> > 
> > if (IS_ENABLED(DEBUG))?
> > 
> > If someone enables debug with an explicit -DDEBUG to the compiler
> > this could be allowed.
> I'm fine with your proposal. Will wait few days just in case anyone wants to
> add any comment then go for this.

Just wondering.. Would it help for the driver probe to set gpio0 as a gpio
hog after reading the configured value?

Maybe the multi device enable just means the pin may be shared with no
specific hardware reason to not change it during the runtime?

Regards,

Tony




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux