Message ID | 20211227164317.4146918-26-schnelle@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | [RFC,01/32] Kconfig: introduce and depend on LEGACY_PCI | expand |
On 12/27/21 8:43 AM, Niklas Schnelle 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. > How is the need for HAS_IOPORT determined, when exactly is it needed, and when not ? $ git grep -E "inb|inw" drivers/watchdog/ | cut -f1 -d: | sort -u drivers/watchdog/acquirewdt.c drivers/watchdog/advantechwdt.c drivers/watchdog/cpu5wdt.c drivers/watchdog/f71808e_wdt.c drivers/watchdog/ibmasr.c drivers/watchdog/ie6xx_wdt.c drivers/watchdog/it8712f_wdt.c drivers/watchdog/it87_wdt.c drivers/watchdog/iTCO_vendor_support.c drivers/watchdog/iTCO_wdt.c drivers/watchdog/Kconfig drivers/watchdog/machzwd.c drivers/watchdog/mixcomwd.c drivers/watchdog/ni903x_wdt.c drivers/watchdog/nic7018_wdt.c drivers/watchdog/nv_tco.c drivers/watchdog/pc87413_wdt.c drivers/watchdog/pcwd.c drivers/watchdog/pcwd_pci.c drivers/watchdog/sbc60xxwdt.c drivers/watchdog/sbc7240_wdt.c drivers/watchdog/sc1200wdt.c drivers/watchdog/sch311x_wdt.c drivers/watchdog/smsc37b787_wdt.c drivers/watchdog/sp5100_tco.c drivers/watchdog/w83627hf_wdt.c drivers/watchdog/w83877f_wdt.c drivers/watchdog/w83977f_wdt.c drivers/watchdog/wafer5823wdt.c drivers/watchdog/wdt977.c drivers/watchdog/wdt.c drivers/watchdog/wdt_pci.c Guenter > 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> > --- > drivers/watchdog/Kconfig | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index 05258109bcc2..2e87a65bdc8b 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -452,6 +452,7 @@ config 21285_WATCHDOG > config 977_WATCHDOG > tristate "NetWinder WB83C977 watchdog" > depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST) > + depends on HAS_IOPORT > help > Say Y here to include support for the WB977 watchdog included in > NetWinder machines. Alternatively say M to compile the driver as > @@ -1200,6 +1201,7 @@ config ITCO_WDT > select WATCHDOG_CORE > depends on I2C || I2C=n > depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT > + depends on HAS_IOPORT # for I2C_I801 > select LPC_ICH if !EXPERT > select I2C_I801 if !EXPERT && I2C > help >
On Mon, 2021-12-27 at 10:03 -0800, Guenter Roeck wrote: > On 12/27/21 8:43 AM, Niklas Schnelle 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. > > > > How is the need for HAS_IOPORT determined, when exactly is it needed, > and when not ? I mostly used "make allyesconfig" on s390 with the accessors ifdeffed out (i.e. patch 32) to find where the I/O port accesses were compiled in. This means that it doesn't find drivers which pull in a HAS_IOPORT dependency transitively e.g. by depending on x86 or ACPI. It should get those that use e.g. "|| COMPILE_TEST" though. This might not be ideal but on the other hand it should catch all those drivers that currently built with known broken code. > > $ git grep -E "inb|inw" drivers/watchdog/ | cut -f1 -d: | sort -u > drivers/watchdog/acquirewdt.c > drivers/watchdog/advantechwdt.c > ---8<---
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 05258109bcc2..2e87a65bdc8b 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -452,6 +452,7 @@ config 21285_WATCHDOG config 977_WATCHDOG tristate "NetWinder WB83C977 watchdog" depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST) + depends on HAS_IOPORT help Say Y here to include support for the WB977 watchdog included in NetWinder machines. Alternatively say M to compile the driver as @@ -1200,6 +1201,7 @@ config ITCO_WDT select WATCHDOG_CORE depends on I2C || I2C=n depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT + depends on HAS_IOPORT # for I2C_I801 select LPC_ICH if !EXPERT select I2C_I801 if !EXPERT && I2C help