Message ID | 20211227164317.4146918-11-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:49 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/i2c/busses/Kconfig > +++ b/drivers/i2c/busses/Kconfig > @@ -828,6 +828,7 @@ config I2C_NPCM7XX > > config I2C_OCORES > tristate "OpenCores I2C Controller" > + depends on HAS_IOPORT While drivers/i2c/busses/i2c-ocores.c does use {in,out}(), I doubt this is used to access legacy I/O space. > help > If you say yes to this option, support will be included for the > OpenCores I2C controller. For details see > @@ -1227,6 +1228,7 @@ config I2C_CP2615 > config I2C_PARPORT > tristate "Parallel port adapter" > depends on PARPORT > + depends on HAS_IOPORT Same as PRINTER: shouldn't this work with all parport drivers? > select I2C_ALGOBIT > select I2C_SMBUS > help 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:21 +0100, Geert Uytterhoeven wrote: > Hi Niklas, > > On Mon, Dec 27, 2021 at 5:49 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/i2c/busses/Kconfig > > +++ b/drivers/i2c/busses/Kconfig > > @@ -828,6 +828,7 @@ config I2C_NPCM7XX > > > > config I2C_OCORES > > tristate "OpenCores I2C Controller" > > + depends on HAS_IOPORT > > While drivers/i2c/busses/i2c-ocores.c does use {in,out}(), I doubt this > is used to access legacy I/O space. Hmm, it does use i2c->iobase for inb()/outb() but i2c->base for ioreadXY()/iowriteXY(). And as it gets i2c->iobase from platform_get_resource(pdev, IORESOURCE_IO, 0) I'd think that is an I/O resource/space. It does look like some kind of fallback path though, the IORESOURCE_IO is only looked at if accessing an IORESOURCE_MEM fails so maybe that should instead be ifdeffed. > > > help > > If you say yes to this option, support will be included for the > > OpenCores I2C controller. For details see > > @@ -1227,6 +1228,7 @@ config I2C_CP2615 > > config I2C_PARPORT > > tristate "Parallel port adapter" > > depends on PARPORT > > + depends on HAS_IOPORT > > Same as PRINTER: shouldn't this work with all parport drivers? Agree, will drop. > > > select I2C_ALGOBIT > > select I2C_SMBUS > > help > > 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/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index a8d6274dc965..55403018784a 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -175,7 +175,7 @@ config I2C_ISMT config I2C_PIIX4 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" - depends on PCI + depends on PCI && HAS_IOPORT help If you say yes to this option, support will be included for the Intel PIIX4 family of mainboard I2C interfaces. Specifically, the following @@ -828,6 +828,7 @@ config I2C_NPCM7XX config I2C_OCORES tristate "OpenCores I2C Controller" + depends on HAS_IOPORT help If you say yes to this option, support will be included for the OpenCores I2C controller. For details see @@ -1227,6 +1228,7 @@ config I2C_CP2615 config I2C_PARPORT tristate "Parallel port adapter" depends on PARPORT + depends on HAS_IOPORT select I2C_ALGOBIT select I2C_SMBUS help @@ -1325,6 +1327,7 @@ config I2C_ICY config I2C_MLXCPLD tristate "Mellanox I2C driver" depends on X86_64 || COMPILE_TEST + depends on HAS_IOPORT help This exposes the Mellanox platform I2C busses to the linux I2C layer for X86 based systems.