Re: [PATCH v2 2/3] acpi: allow building without CONFIG_HAS_IOPORT

From: Andy Shevchenko
Date: Fri Oct 11 2024 - 09:39:17 EST


On Fri, Oct 11, 2024 at 01:28:23PM +0200, Rafael J. Wysocki wrote:
> On Fri, Oct 11, 2024 at 1:12 PM Andy Shevchenko
> <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > On Fri, Oct 11, 2024 at 09:59:46AM +0000, Arnd Bergmann wrote:
> > > On Fri, Oct 11, 2024, at 09:53, Andy Shevchenko wrote:
> > > > On Fri, Oct 11, 2024 at 06:18:18AM +0000, Arnd Bergmann wrote:

...

> > > >> + if (!IS_ENABLED(CONFIG_HAS_IOPORT)) {
> > > >> + *value = BIT_MASK(width);
> > > >> + return AE_NOT_IMPLEMENTED;
> > > >
> > > > Perhaps it has already been discussed, but why do we need to file value with
> > > > semi-garbage when we know it's invalid anyway?
> > >
> > > It's not strictly necessary, just precaution for possible callers
> > > that use the resulting data without checking the error code.
> >
> > Do you have any examples of that in the kernel?
>
> Yes, there are at least 2 cases. May not be relevant, though.

Btw, may be we even can add the error check to them, dunno...

> > > The all-ones data is what an x86 PC would see when an I/O
> > > port is read that is not connected to any device.
> >
> > Yes, but it's not what your code does.
>
> Care to elaborate?

Sure, but it seems Arnd already figured out that he set one bit only somewhere
in the returned value, not what he stated in the explanation in this email
thread.

--
With Best Regards,
Andy Shevchenko