Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 5 Apr 2024 19:20:28 +0300 | From | Andy Shevchenko <> | Subject | Re: [PATCH] pinctrl: pinconf-generic: check error value EOPNOTSUPP |
| |
On Fri, Apr 05, 2024 at 05:07:00PM +0100, Sudeep Holla wrote: > On Fri, Apr 05, 2024 at 06:55:34PM +0300, Andy Shevchenko wrote: > > On Fri, Apr 05, 2024 at 04:47:19PM +0100, Sudeep Holla wrote:
..
> > > Well, I don't agree with that 100% now since this is GPIO/pinmux sub-system > > > practice only. > > > > git grep -lw ENOTSUPP > > > > utterly disagrees with you. > > > > /me more confused. Though I haven't dig deeper to chech how many of these > EOPNOTSUPP uses are intended for userspace. > > $git grep -lw ENOTSUPP | wc -l > 713 > git grep -lw EOPNOTSUPP | wc -l > 2946
I (mis?) interpret your words that only GPIO/pin control uses ENOTSUPP internally.
> > > 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. > > > > This is different case. For that we may shadow error codes with explicit > > comments. > > Sure as along as that is acceptable. > > > > 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 🙁. > > > > KISS principle? There are only 10+ drivers to fix (I showed a rough list) > > to use ENOTSUPP instead of 100s+ otherwise. > > Again I assume you are referring to just GPIO/pinmux subsystem right.
Yes, I am.
> As the number of occurrence of EOPNOTSUPP in the kernel overall is quite > large.
Of course that is out of scope of GPIO/pin control design.
> I was thinking of changing the SCMI error map from EOPNOTSUPP to ENOTSUPP, > but for now I think it is better to just handle the mapping in the pinmux > part of SCMI that pinmux subsystem interacts with.
Sure. Wherever you prefer, the only expectation that GPIO / pin control callbacks will return into GPIO / pin control _core_ ENOTSUPP.
> In future if more > subsystem expect ENOTSUPP, then we can change it. I hope this aligns with > KISS principle as we are just fixing for the case that is know to cause > issue rather than changing all probably regressing and then having to > fix them all.
Exactly!
> Thanks for the time and explanation.
Thanks for discussion!
-- With Best Regards, Andy Shevchenko
| ![\](/images/icornerr.gif) |