Re: [PATCH 2/2] gpiolib: Allow drivers to return EOPNOTSUPP from config

From: Andy Shevchenko
Date: Mon Mar 29 2021 - 09:31:05 EST


On Mon, Mar 29, 2021 at 03:20:07PM +0300, Matti Vaittinen wrote:
> On Mon, 2021-03-29 at 14:59 +0300, Andy Shevchenko wrote:
> > On Mon, Mar 29, 2021 at 2:43 PM Matti Vaittinen
> > <matti.vaittinen@xxxxxxxxxxxxxxxxx> wrote:
> > > The checkpacth instructs to switch from ENOSUPP to EOPNOTSUPP.
> > > > WARNING: ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP
> > >
> > > Make the gpiolib allow drivers to return both so driver developers
> > > can avoid one of the checkpatch complaints.
> >
> > Internally we are fine to use the ENOTSUPP.
> > Checkpatch false positives there.
>
> I agree. OTOH, the checkpatch check makes sense to user-visible stuff.
> Yet, the checkpatch has hard time guessing what is user-visible - so it
> probably is easiest to nag about all ENOTSUPP uses as it does now.
>
> > I doubt we need this change. Rather checkpatch should rephrase this
> > to
> > point out that this is only applicable to _user-visible_ error path.
> > Cc'ed Joe.
>
> Yes, thanks for pulling Joe in.
>
> Anyways, no matter what the warning says, all false positives are
> annoying. I don't see why we should stay with ENOTSUPP in gpiolib?
> (other than the burden of changing it).

For sake of the changing we are not changing the code.

> But I have no strong opinion on this. All options I see have downsides.
>
> Accepting both ENOTSUPP and EOPNOTSUPP is the easy way to avoid
> allowing checkpatch warnings - but I admit it isn't stylish.

I think the error code which is Linux kernel internal is for a reason.

> Converting all ENOTSUPP cases inside gpiolib to EOPNOTSUPP is teodious
> although end result might be nicer.

Why? You still missed the justification except satisfying some tool that gives
you false positives. We don't do that. It's the tool that has to be fixed /
amended.

> Leaving it as is gives annoying false-positives to driver developers.
>
> My personal preference was this patch - others can have other view like
> Andy does. I'll leave this to community/maintainers to evaluate :)

This patch misses documentation fixes, for example.

Also, do you suggest that we have to do the same in entire pin control
subsystem?

--
With Best Regards,
Andy Shevchenko