On Fri, Apr 05, 2024 at 06:38:04PM +0300, Andy Shevchenko wrote: > On Fri, Apr 05, 2024 at 02:13:28AM +0000, Peng Fan wrote: > > > On Thu, Apr 04, 2024 at 01:44:50PM +0200, Linus Walleij wrote: > > > > On Mon, Apr 1, 2024 at 4:02 PM Peng Fan (OSS) <peng.fan@xxxxxxxxxxx> > > > wrote: > > ... > > > > > > ret = pin_config_get_for_pin(pctldev, pin, &config); > > > > > /* These are legal errors */ > > > > > - if (ret == -EINVAL || ret == -ENOTSUPP) > > > > > + if (ret == -EINVAL || ret == -ENOTSUPP || ret == > > > > > + -EOPNOTSUPP) > > > > > > > > TBH it's a bit odd to call an in-kernel API such as > > > > pin_config_get_for_pin() and get -EOPNOTSUPP back. But it's not like I care > > > a lot, so patch applied. > > > > > > Hmm... I would like actually to get this being consistent. The documentation > > > explicitly says that in-kernel APIs uses Linux error code and not POSIX one. > > > > Would you please share me the documentation? > > Sure. > https://elixir.bootlin.com/linux/latest/source/include/linux/pinctrl/pinconf.h#L24 > https://elixir.bootlin.com/linux/latest/source/drivers/gpio/gpiolib.c#L2825 > https://elixir.bootlin.com/linux/latest/source/drivers/gpio/gpiolib.c#L2845 > > I admit that this is not the best documented, feel free to produce a proper > documentation. > Ah OK, my bad. I assumed you were referring to the entire kernel tree and not just GPIO/pinux. Sorry for that. > > > This check opens a Pandora box. > > > > > > FWIW, it just like dozen or so drivers that needs to be fixed, I prefer to have > > > them being moved to ENOTSUPP, rather this patch. > > > > I see many patches convert to use EOPNOTSUPP by checking git log. > > How is that related? You mean for GPIO/pin control drivers? > > > And checkpatch.pl reports warning for using ENOTSUPP. > > checkpatch has false-positives, this is just one of them. > Fair enough. > > BTW: is there any issue if using EOPNOTSUPP here? > > Yes. we don't want to be inconsistent. Using both in one subsystem is asking > for troubles. If you want EOPNOTSUPP, please convert *all* users and drop > ENOTSUPP completely (series out of ~100+ patches I believe :-), which probably > will be not welcome). > Well, I don't agree with that 100% now since this is GPIO/pinmux sub-system practice only. What if we change the source/root error cause(SCMI) in this case and keep GPIO/pinmux happy today but tomorrow when this needs to be used in some other subsystem which uses EOPNOTSUPP by default/consistently. Now how do we address that then, hence I mentioned I am not 100% in agreement now while I was before knowing that this is GPIO/pinmux strategy. I don't know how to proceed now 🙁. -- Regards, Sudeep