Re: [RFC 12/32] iio: adc: Kconfig: add HAS_IOPORT dependencies

Jonathan Cameron
2021-12-28T16:56:37Z

On Tue, 28 Dec 2021 13:50:20 +0100
Niklas Schnelle <schnelle@linux.ibm.com> wrote:

> On Tue, 2021-12-28 at 11:32 +0100, Geert Uytterhoeven wrote:
> > Hi Niklas,
> >
> > On Mon, Dec 27, 2021 at 5:53 PM Niklas Schnelle <schnelle@linux.ibm.com> wrote:
> > > In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
> > > not being declared. We thus need to add HAS_IOPORT as dependency for
> > > those drivers using them.
> > >
> > > Co-developed-by: Arnd Bergmann <arnd@kernel.org>
> > > Signed-off-by: Arnd Bergmann <arnd@kernel.org>
> > > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>

As a side note, whilst it doesn't always happen and I regularly forget
to fix it up whilst applying, it's really helpful to make sure the driver
name is somewhere in the patch title.

e.g. iio: adc: ad7606: add HAS_IOPORT dependencies.

> >
> > Thanks for your patch!
> >
> > > --- a/drivers/iio/adc/Kconfig
> > > +++ b/drivers/iio/adc/Kconfig
> > > @@ -119,7 +119,7 @@ config AD7606
> > >
> > > config AD7606_IFACE_PARALLEL
> > > tristate "Analog Devices AD7606 ADC driver with parallel interface support"
> > > - depends on HAS_IOMEM
> > > + depends on HAS_IOPORT
> >
> > While this driver uses ins[bw](), this seems unrelated to legacy
> > I/O space, as the driver maps a MMIO region. Probably different
> > accessors should be used instead.
>
> You're right on first glance it looks like a misuse of the ins[bw]()
> accessors. I do wonder how that even works, if PCI_IOBASE is 0 it would
> result in readsw()/readsb() with presumably the correct address but no
> idea how this interacts witth x86's special I/O instructions.
>
> >
> > Note that this driver has no in-tree users. Same for the SPI variant,
> > but at least that one has modern json-schema DT bindings ;-)
>
> Can't find any mention in the MAINTAINERS file either.

It falls under the Analog devices catch all.
We don't list them all individually because there are a lot of them and
it would just be noise in many case.

Added Michael to CC. You already have Lars.

ANALOG DEVICES INC IIO DRIVERS
M: Lars-Peter Clausen <lars@metafoo.de>
M: Michael Hennerich <Michael.Hennerich@analog.com>
S: Supported
W: http://wiki.analog.com/
W: http://ez.analog.com/community/linux-device-drivers
F: Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523
F: Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350
F: Documentation/devicetree/bindings/iio/*/adi,*
F: Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
F: drivers/iio/*/ad*
F: drivers/iio/adc/ltc249*
F: drivers/iio/amplifiers/hmc425a.c
F: drivers/staging/iio/*/ad*
X: drivers/iio/*/adjd*

https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad7606
includes some details.

I'll leave it to the Lars or Michael to confirm what is going on here.

Jonathan

>
> >
> > > select AD7606
> > > help
> > > Say yes here to build parallel interface support for Analog Devices:
> >
> > Gr{oetje,eeting}s,
> >
> > Geert
> >
> > --
> > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> >
> > In personal conversations with technical people, I call myself a hacker. But
> > when I'm talking to journalists I just say "programmer" or something like that.
> > -- Linus Torvalds
>