* 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