mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/1] watchdog: Handle HAS_IOPORT dependencies
@ 2024-04-10  8:42 Niklas Schnelle
  2024-04-10  8:42 ` [PATCH 1/1] watchdog: add " Niklas Schnelle
  0 siblings, 1 reply; 5+ messages in thread
From: Niklas Schnelle @ 2024-04-10  8:42 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, Arnd Bergmann, Heiko Carstens, linux-kernel,
	Niklas Schnelle

Hi Wim, Guenter,

This is a follow up in my ongoing effort of making inb()/outb() and
similar I/O port accessors compile-time optional. Previously I sent this
as a treewide series titled "treewide: Remove I/O port accessors for
HAS_IOPORT=n" with the latest being its 5th version[0]. With a significant
subset of patches merged I've changed over to per-subsystem series. These
series are stand alone and should be merged via the relevant tree such
that with all subsystems complete we can follow this up with the final
patch that will make the I/O port accessors compile-time optional.

The current state of the full series with changes to the remaining subsystems
and the aforementioned final patch can be found for your convenience on my
git.kernel.org tree in the has_ioport branch[1]. As for compile-time vs runtime
see Linus' reply to my first attempt[2].

Thanks,
Niklas

[0] https://lore.kernel.org/all/20230522105049.1467313-1-schnelle@linux.ibm.com/
[1] https://git.kernel.org/pub/scm/linux/kernel/git/niks/linux.git/log/?h=has_ioport
[2] https://lore.kernel.org/lkml/CAHk-=wg80je=K7madF4e7WrRNp37e3qh6y10Svhdc7O8SZ_-8g@mail.gmail.com/

Niklas Schnelle (1):
  watchdog: add HAS_IOPORT dependencies

 drivers/watchdog/Kconfig | 58 +++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 28 deletions(-)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/1] watchdog: add HAS_IOPORT dependencies
  2024-04-10  8:42 [PATCH 0/1] watchdog: Handle HAS_IOPORT dependencies Niklas Schnelle
@ 2024-04-10  8:42 ` Niklas Schnelle
  2024-04-10 12:31   ` Guenter Roeck
  2024-04-10 14:55   ` Guenter Roeck
  0 siblings, 2 replies; 5+ messages in thread
From: Niklas Schnelle @ 2024-04-10  8:42 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: linux-watchdog, Arnd Bergmann, Heiko Carstens, linux-kernel,
	Niklas Schnelle

In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
compile time. 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>
---
Note: This patch does not depend any not-yet-mainline HAS_IOPORT changes
and may be merged via subsystem specific trees at your earliest
convenience.

 drivers/watchdog/Kconfig | 58 +++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 28 deletions(-)

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 6bee137cfbe0..1904896376b7 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -482,6 +482,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
@@ -1075,7 +1076,7 @@ config ACQUIRE_WDT
 
 config ADVANTECH_WDT
 	tristate "Advantech SBC Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  If you are configuring a Linux kernel for the Advantech single-board
 	  computer, say `Y' here to support its built-in watchdog timer
@@ -1084,7 +1085,7 @@ config ADVANTECH_WDT
 
 config ADVANTECH_EC_WDT
 	tristate "Advantech Embedded Controller Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	select ISA_BUS_API
 	select WATCHDOG_CORE
 	help
@@ -1117,7 +1118,7 @@ config ALIM7101_WDT
 
 config EBC_C384_WDT
 	tristate "WinSystems EBC-C384 Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	select ISA_BUS_API
 	select WATCHDOG_CORE
 	help
@@ -1127,7 +1128,7 @@ config EBC_C384_WDT
 
 config EXAR_WDT
 	tristate "Exar Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	select WATCHDOG_CORE
 	help
 	  Enables watchdog timer support for the watchdog timer present
@@ -1138,7 +1139,7 @@ config EXAR_WDT
 
 config F71808E_WDT
 	tristate "Fintek F718xx, F818xx Super I/O Watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	select WATCHDOG_CORE
 	help
 	  This is the driver for the hardware watchdog on the Fintek F71808E,
@@ -1150,7 +1151,7 @@ config F71808E_WDT
 
 config SP5100_TCO
 	tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
-	depends on (X86 || COMPILE_TEST) && PCI
+	depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
 	select WATCHDOG_CORE
 	help
 	  Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
@@ -1189,7 +1190,7 @@ config SC520_WDT
 
 config SBC_FITPC2_WATCHDOG
 	tristate "Compulab SBC-FITPC2 watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the built-in watchdog timer on the fit-PC2,
 	  fit-PC2i, CM-iAM single-board computers made by Compulab.
@@ -1214,7 +1215,7 @@ config SBC_FITPC2_WATCHDOG
 
 config EUROTECH_WDT
 	tristate "Eurotech CPU-1220/1410 Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  Enable support for the watchdog timer on the Eurotech CPU-1220 and
 	  CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
@@ -1222,7 +1223,7 @@ config EUROTECH_WDT
 
 config IB700_WDT
 	tristate "IB700 SBC Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the hardware watchdog on the IB700 Single
 	  Board Computer produced by TMC Technology (www.tmc-uk.com). This
@@ -1239,7 +1240,7 @@ config IB700_WDT
 
 config IBMASR
 	tristate "IBM Automatic Server Restart"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the IBM Automatic Server Restart watchdog
 	  timer built-in into some eServer xSeries machines.
@@ -1249,7 +1250,7 @@ config IBMASR
 
 config WAFER_WDT
 	tristate "ICP Single Board Computer Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is a driver for the hardware watchdog on the ICP Single
 	  Board Computer. This driver is working on (at least) the following
@@ -1271,7 +1272,7 @@ config I6300ESB_WDT
 
 config IE6XX_WDT
 	tristate "Intel Atom E6xx Watchdog"
-	depends on (X86 || COMPILE_TEST) && PCI
+	depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
 	select WATCHDOG_CORE
 	select MFD_CORE
 	select LPC_SCH
@@ -1301,6 +1302,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
@@ -1331,7 +1333,7 @@ config ITCO_VENDOR_SUPPORT
 
 config IT8712F_WDT
 	tristate "IT8712F (Smart Guardian) Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the built-in watchdog timer on the IT8712F
 	  Super I/0 chipset used on many motherboards.
@@ -1344,7 +1346,7 @@ config IT8712F_WDT
 
 config IT87_WDT
 	tristate "IT87 Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	select WATCHDOG_CORE
 	help
 	  This is the driver for the hardware watchdog on the ITE IT8607,
@@ -1392,7 +1394,7 @@ config KEMPLD_WDT
 
 config SC1200_WDT
 	tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is a driver for National Semiconductor PC87307/PC97307 hardware
 	  watchdog cards as found on the SC1200. This watchdog is mainly used
@@ -1415,7 +1417,7 @@ config SCx200_WDT
 
 config PC87413_WDT
 	tristate "NS PC87413 watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the hardware watchdog on the PC87413 chipset
 	  This watchdog simply watches your kernel to make sure it doesn't
@@ -1429,7 +1431,7 @@ config PC87413_WDT
 
 config NV_TCO
 	tristate "nVidia TCO Timer/Watchdog"
-	depends on (X86 || COMPILE_TEST) && PCI
+	depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
 	help
 	  Hardware driver for the TCO timer built into the nVidia Hub family
 	  (such as the MCP51).  The TCO (Total Cost of Ownership) timer is a
@@ -1458,7 +1460,7 @@ config RDC321X_WDT
 
 config 60XX_WDT
 	tristate "SBC-60XX Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This driver can be used with the watchdog timer found on some
 	  single board computers, namely the 6010 PII based computer.
@@ -1498,7 +1500,7 @@ config SBC7240_WDT
 
 config CPU5_WDT
 	tristate "SMA CPU5 Watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  TBD.
 	  To compile this driver as a module, choose M here: the
@@ -1506,7 +1508,7 @@ config CPU5_WDT
 
 config SMSC_SCH311X_WDT
 	tristate "SMSC SCH311X Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the hardware watchdog timer on the
 	  SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
@@ -1518,7 +1520,7 @@ config SMSC_SCH311X_WDT
 
 config SMSC37B787_WDT
 	tristate "Winbond SMsC37B787 Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the hardware watchdog component on the
 	  Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
@@ -1564,7 +1566,7 @@ config VIA_WDT
 
 config W83627HF_WDT
 	tristate "Watchdog timer for W83627HF/W83627DHG and compatibles"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	select WATCHDOG_CORE
 	help
 	  This is the driver for the hardware watchdog on the following
@@ -1594,7 +1596,7 @@ config W83627HF_WDT
 
 config W83877F_WDT
 	tristate "W83877F (EMACS) Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the hardware watchdog on the W83877F chipset
 	  as used in EMACS PC-104 motherboards (and likely others).  This
@@ -1609,7 +1611,7 @@ config W83877F_WDT
 
 config W83977F_WDT
 	tristate "W83977F (PCM-5335) Watchdog Timer"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the hardware watchdog on the W83977F I/O chip
 	  as used in AAEON's PCM-5335 SBC (and likely others).  This
@@ -1622,7 +1624,7 @@ config W83977F_WDT
 
 config MACHZ_WDT
 	tristate "ZF MachZ Watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  If you are using a ZF Micro MachZ processor, say Y here, otherwise
 	  N.  This is the driver for the watchdog timer built-in on that
@@ -1635,7 +1637,7 @@ config MACHZ_WDT
 
 config SBC_EPX_C3_WATCHDOG
 	tristate "Winsystems SBC EPX-C3 watchdog"
-	depends on X86 || COMPILE_TEST
+	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
 	help
 	  This is the driver for the built-in watchdog timer on the EPX-C3
 	  Single-board computer made by Winsystems, Inc.
@@ -2197,7 +2199,7 @@ comment "PCI-based Watchdog Cards"
 
 config PCIPCWATCHDOG
 	tristate "Berkshire Products PCI-PC Watchdog"
-	depends on PCI
+	depends on PCI && HAS_IOPORT
 	help
 	  This is the driver for the Berkshire Products PCI-PC Watchdog card.
 	  This card simply watches your kernel to make sure it doesn't freeze,
@@ -2212,7 +2214,7 @@ config PCIPCWATCHDOG
 
 config WDTPCI
 	tristate "PCI-WDT500/501 Watchdog timer"
-	depends on PCI
+	depends on PCI && HAS_IOPORT
 	help
 	  If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
 
-- 
2.40.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] watchdog: add HAS_IOPORT dependencies
  2024-04-10  8:42 ` [PATCH 1/1] watchdog: add " Niklas Schnelle
@ 2024-04-10 12:31   ` Guenter Roeck
  2024-04-10 14:55   ` Guenter Roeck
  1 sibling, 0 replies; 5+ messages in thread
From: Guenter Roeck @ 2024-04-10 12:31 UTC (permalink / raw)
  To: Niklas Schnelle
  Cc: Wim Van Sebroeck, linux-watchdog, Arnd Bergmann, Heiko Carstens,
	linux-kernel

On Wed, Apr 10, 2024 at 10:42:01AM +0200, Niklas Schnelle wrote:
> In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
> compile time. 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>
> ---
> Note: This patch does not depend any not-yet-mainline HAS_IOPORT changes
> and may be merged via subsystem specific trees at your earliest
> convenience.
> 

For almost all of those, the HAS_IOPORT "dependency" is really only
necessary due to COMPILE_TEST because both ARM and X86 select HAS_IOPORT.
Has anyone thought about introducing something like COMPILE_TEST_IOPORT
or similar ?

config COMPILE_TEST_IOPORT
	def_bool COMPILE_TEST && HAS_IOPORT

Thanks,
Guenter

>  drivers/watchdog/Kconfig | 58 +++++++++++++++++++++-------------------
>  1 file changed, 30 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 6bee137cfbe0..1904896376b7 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -482,6 +482,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
> @@ -1075,7 +1076,7 @@ config ACQUIRE_WDT
>  
>  config ADVANTECH_WDT
>  	tristate "Advantech SBC Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  If you are configuring a Linux kernel for the Advantech single-board
>  	  computer, say `Y' here to support its built-in watchdog timer
> @@ -1084,7 +1085,7 @@ config ADVANTECH_WDT
>  
>  config ADVANTECH_EC_WDT
>  	tristate "Advantech Embedded Controller Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	select ISA_BUS_API
>  	select WATCHDOG_CORE
>  	help
> @@ -1117,7 +1118,7 @@ config ALIM7101_WDT
>  
>  config EBC_C384_WDT
>  	tristate "WinSystems EBC-C384 Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	select ISA_BUS_API
>  	select WATCHDOG_CORE
>  	help
> @@ -1127,7 +1128,7 @@ config EBC_C384_WDT
>  
>  config EXAR_WDT
>  	tristate "Exar Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	select WATCHDOG_CORE
>  	help
>  	  Enables watchdog timer support for the watchdog timer present
> @@ -1138,7 +1139,7 @@ config EXAR_WDT
>  
>  config F71808E_WDT
>  	tristate "Fintek F718xx, F818xx Super I/O Watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	select WATCHDOG_CORE
>  	help
>  	  This is the driver for the hardware watchdog on the Fintek F71808E,
> @@ -1150,7 +1151,7 @@ config F71808E_WDT
>  
>  config SP5100_TCO
>  	tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
> -	depends on (X86 || COMPILE_TEST) && PCI
> +	depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
>  	select WATCHDOG_CORE
>  	help
>  	  Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
> @@ -1189,7 +1190,7 @@ config SC520_WDT
>  
>  config SBC_FITPC2_WATCHDOG
>  	tristate "Compulab SBC-FITPC2 watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the built-in watchdog timer on the fit-PC2,
>  	  fit-PC2i, CM-iAM single-board computers made by Compulab.
> @@ -1214,7 +1215,7 @@ config SBC_FITPC2_WATCHDOG
>  
>  config EUROTECH_WDT
>  	tristate "Eurotech CPU-1220/1410 Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  Enable support for the watchdog timer on the Eurotech CPU-1220 and
>  	  CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
> @@ -1222,7 +1223,7 @@ config EUROTECH_WDT
>  
>  config IB700_WDT
>  	tristate "IB700 SBC Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the hardware watchdog on the IB700 Single
>  	  Board Computer produced by TMC Technology (www.tmc-uk.com). This
> @@ -1239,7 +1240,7 @@ config IB700_WDT
>  
>  config IBMASR
>  	tristate "IBM Automatic Server Restart"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the IBM Automatic Server Restart watchdog
>  	  timer built-in into some eServer xSeries machines.
> @@ -1249,7 +1250,7 @@ config IBMASR
>  
>  config WAFER_WDT
>  	tristate "ICP Single Board Computer Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is a driver for the hardware watchdog on the ICP Single
>  	  Board Computer. This driver is working on (at least) the following
> @@ -1271,7 +1272,7 @@ config I6300ESB_WDT
>  
>  config IE6XX_WDT
>  	tristate "Intel Atom E6xx Watchdog"
> -	depends on (X86 || COMPILE_TEST) && PCI
> +	depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
>  	select WATCHDOG_CORE
>  	select MFD_CORE
>  	select LPC_SCH
> @@ -1301,6 +1302,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
> @@ -1331,7 +1333,7 @@ config ITCO_VENDOR_SUPPORT
>  
>  config IT8712F_WDT
>  	tristate "IT8712F (Smart Guardian) Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the built-in watchdog timer on the IT8712F
>  	  Super I/0 chipset used on many motherboards.
> @@ -1344,7 +1346,7 @@ config IT8712F_WDT
>  
>  config IT87_WDT
>  	tristate "IT87 Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	select WATCHDOG_CORE
>  	help
>  	  This is the driver for the hardware watchdog on the ITE IT8607,
> @@ -1392,7 +1394,7 @@ config KEMPLD_WDT
>  
>  config SC1200_WDT
>  	tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is a driver for National Semiconductor PC87307/PC97307 hardware
>  	  watchdog cards as found on the SC1200. This watchdog is mainly used
> @@ -1415,7 +1417,7 @@ config SCx200_WDT
>  
>  config PC87413_WDT
>  	tristate "NS PC87413 watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the hardware watchdog on the PC87413 chipset
>  	  This watchdog simply watches your kernel to make sure it doesn't
> @@ -1429,7 +1431,7 @@ config PC87413_WDT
>  
>  config NV_TCO
>  	tristate "nVidia TCO Timer/Watchdog"
> -	depends on (X86 || COMPILE_TEST) && PCI
> +	depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
>  	help
>  	  Hardware driver for the TCO timer built into the nVidia Hub family
>  	  (such as the MCP51).  The TCO (Total Cost of Ownership) timer is a
> @@ -1458,7 +1460,7 @@ config RDC321X_WDT
>  
>  config 60XX_WDT
>  	tristate "SBC-60XX Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This driver can be used with the watchdog timer found on some
>  	  single board computers, namely the 6010 PII based computer.
> @@ -1498,7 +1500,7 @@ config SBC7240_WDT
>  
>  config CPU5_WDT
>  	tristate "SMA CPU5 Watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  TBD.
>  	  To compile this driver as a module, choose M here: the
> @@ -1506,7 +1508,7 @@ config CPU5_WDT
>  
>  config SMSC_SCH311X_WDT
>  	tristate "SMSC SCH311X Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the hardware watchdog timer on the
>  	  SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
> @@ -1518,7 +1520,7 @@ config SMSC_SCH311X_WDT
>  
>  config SMSC37B787_WDT
>  	tristate "Winbond SMsC37B787 Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the hardware watchdog component on the
>  	  Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
> @@ -1564,7 +1566,7 @@ config VIA_WDT
>  
>  config W83627HF_WDT
>  	tristate "Watchdog timer for W83627HF/W83627DHG and compatibles"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	select WATCHDOG_CORE
>  	help
>  	  This is the driver for the hardware watchdog on the following
> @@ -1594,7 +1596,7 @@ config W83627HF_WDT
>  
>  config W83877F_WDT
>  	tristate "W83877F (EMACS) Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the hardware watchdog on the W83877F chipset
>  	  as used in EMACS PC-104 motherboards (and likely others).  This
> @@ -1609,7 +1611,7 @@ config W83877F_WDT
>  
>  config W83977F_WDT
>  	tristate "W83977F (PCM-5335) Watchdog Timer"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the hardware watchdog on the W83977F I/O chip
>  	  as used in AAEON's PCM-5335 SBC (and likely others).  This
> @@ -1622,7 +1624,7 @@ config W83977F_WDT
>  
>  config MACHZ_WDT
>  	tristate "ZF MachZ Watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  If you are using a ZF Micro MachZ processor, say Y here, otherwise
>  	  N.  This is the driver for the watchdog timer built-in on that
> @@ -1635,7 +1637,7 @@ config MACHZ_WDT
>  
>  config SBC_EPX_C3_WATCHDOG
>  	tristate "Winsystems SBC EPX-C3 watchdog"
> -	depends on X86 || COMPILE_TEST
> +	depends on (X86 || COMPILE_TEST) && HAS_IOPORT
>  	help
>  	  This is the driver for the built-in watchdog timer on the EPX-C3
>  	  Single-board computer made by Winsystems, Inc.
> @@ -2197,7 +2199,7 @@ comment "PCI-based Watchdog Cards"
>  
>  config PCIPCWATCHDOG
>  	tristate "Berkshire Products PCI-PC Watchdog"
> -	depends on PCI
> +	depends on PCI && HAS_IOPORT
>  	help
>  	  This is the driver for the Berkshire Products PCI-PC Watchdog card.
>  	  This card simply watches your kernel to make sure it doesn't freeze,
> @@ -2212,7 +2214,7 @@ config PCIPCWATCHDOG
>  
>  config WDTPCI
>  	tristate "PCI-WDT500/501 Watchdog timer"
> -	depends on PCI
> +	depends on PCI && HAS_IOPORT
>  	help
>  	  If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
>  
> -- 
> 2.40.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] watchdog: add HAS_IOPORT dependencies
  2024-04-10  8:42 ` [PATCH 1/1] watchdog: add " Niklas Schnelle
  2024-04-10 12:31   ` Guenter Roeck
@ 2024-04-10 14:55   ` Guenter Roeck
  2024-04-22  8:16     ` Niklas Schnelle
  1 sibling, 1 reply; 5+ messages in thread
From: Guenter Roeck @ 2024-04-10 14:55 UTC (permalink / raw)
  To: Niklas Schnelle
  Cc: Wim Van Sebroeck, linux-watchdog, Arnd Bergmann, Heiko Carstens,
	linux-kernel

On Wed, Apr 10, 2024 at 10:42:01AM +0200, Niklas Schnelle wrote:
> In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
> compile time. 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>
> ---
> Note: This patch does not depend any not-yet-mainline HAS_IOPORT changes
> and may be merged via subsystem specific trees at your earliest
> convenience.

Seems like the COMPILE_TEST / HAS_IOPORT problem is watchdog and
hwmon specific, so I'll just let it go.

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Guenter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] watchdog: add HAS_IOPORT dependencies
  2024-04-10 14:55   ` Guenter Roeck
@ 2024-04-22  8:16     ` Niklas Schnelle
  0 siblings, 0 replies; 5+ messages in thread
From: Niklas Schnelle @ 2024-04-22  8:16 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Wim Van Sebroeck, linux-watchdog, Arnd Bergmann, Heiko Carstens,
	linux-kernel

On Wed, 2024-04-10 at 07:55 -0700, Guenter Roeck wrote:
> On Wed, Apr 10, 2024 at 10:42:01AM +0200, Niklas Schnelle wrote:
> > In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
> > compile time. 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>
> > ---
> > Note: This patch does not depend any not-yet-mainline HAS_IOPORT changes
> > and may be merged via subsystem specific trees at your earliest
> > convenience.
> 
> Seems like the COMPILE_TEST / HAS_IOPORT problem is watchdog and
> hwmon specific, so I'll just let it go.
> 
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> 
> Guenter

Thank you. What tree should this go via?

Thanks,
Niklas

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-04-22  8:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-10  8:42 [PATCH 0/1] watchdog: Handle HAS_IOPORT dependencies Niklas Schnelle
2024-04-10  8:42 ` [PATCH 1/1] watchdog: add " Niklas Schnelle
2024-04-10 12:31   ` Guenter Roeck
2024-04-10 14:55   ` Guenter Roeck
2024-04-22  8:16     ` Niklas Schnelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®