Message ID | 20211227164317.4146918-13-schnelle@linux.ibm.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options | expand |
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> 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. 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 ;-) > 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
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> > > 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. > > > 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
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 >
On Tue, 28 Dec 2021 17:01:25 +0000 Jonathan Cameron <jic23@jic23.retrosnub.co.uk> wrote: > 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. Can someone (probably at Analog Devices) take a look at this? Thanks, Jonathan > > 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 > > >
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig index 3363af15a43f..1338ce51c0c5 100644 --- 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 select AD7606 help Say yes here to build parallel interface support for Analog Devices: