diff mbox series

watchdog: lenovo_se10_wdt: add HAS_IOPORT dependency

Message ID 20240528120759.3491774-1-arnd@kernel.org (mailing list archive)
State New
Headers show
Series watchdog: lenovo_se10_wdt: add HAS_IOPORT dependency | expand

Commit Message

Arnd Bergmann May 28, 2024, 12:07 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

Once the inb()/outb() helpers become conditional, the newly added driver
fails to link on targets without CONFIG_HAS_IOPORT:

In file included from arch/arm64/include/asm/io.h:299,
                 from include/linux/io.h:14,
                 from drivers/watchdog/lenovo_se10_wdt.c:8:
drivers/watchdog/lenovo_se10_wdt.c: In function 'set_bram':
include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
  596 | #define _outb _outb
include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
  655 | #define outb _outb
      |              ^~~~~
drivers/watchdog/lenovo_se10_wdt.c:67:9: note: in expansion of macro 'outb'
   67 |         outb(offset, bram_base);
      |         ^~~~

Add the same dependency we added to the other such drivers.

Fixes: 1f6602c8ed1e ("watchdog: lenovo_se10_wdt: Watchdog driver for Lenovo SE10 platform")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/watchdog/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Mark Pearson May 28, 2024, 12:28 p.m. UTC | #1
Hi Arnd,

On Tue, May 28, 2024, at 8:07 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> Once the inb()/outb() helpers become conditional, the newly added driver
> fails to link on targets without CONFIG_HAS_IOPORT:
>
> In file included from arch/arm64/include/asm/io.h:299,
>                  from include/linux/io.h:14,
>                  from drivers/watchdog/lenovo_se10_wdt.c:8:
> drivers/watchdog/lenovo_se10_wdt.c: In function 'set_bram':
> include/asm-generic/io.h:596:15: error: call to '_outb' declared with 
> attribute error: outb() requires CONFIG_HAS_IOPORT
>   596 | #define _outb _outb
> include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
>   655 | #define outb _outb
>       |              ^~~~~
> drivers/watchdog/lenovo_se10_wdt.c:67:9: note: in expansion of macro 
> 'outb'
>    67 |         outb(offset, bram_base);
>       |         ^~~~
>
> Add the same dependency we added to the other such drivers.
>
Ah - good catch, and my apologies.

> Fixes: 1f6602c8ed1e ("watchdog: lenovo_se10_wdt: Watchdog driver for 
> Lenovo SE10 platform")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/watchdog/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 5f91921afc79..24ea3b6f95fe 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -257,6 +257,7 @@ config GPIO_WATCHDOG_ARCH_INITCALL
>  config LENOVO_SE10_WDT
>  	tristate "Lenovo SE10 Watchdog"
>  	depends on (X86 && DMI) || COMPILE_TEST
> +	depends on HAS_IOPORT
>  	select WATCHDOG_CORE
>  	help
>  	  If you say yes here you get support for the watchdog
> -- 
> 2.39.2
Looks good to me. Thanks for the fix.
Reviewed-by Mark Pearson <mpearson-lenovo@squebb.ca>

Mark
Guenter Roeck May 28, 2024, 1:37 p.m. UTC | #2
On 5/28/24 05:07, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Once the inb()/outb() helpers become conditional, the newly added driver
> fails to link on targets without CONFIG_HAS_IOPORT:
> 
> In file included from arch/arm64/include/asm/io.h:299,
>                   from include/linux/io.h:14,
>                   from drivers/watchdog/lenovo_se10_wdt.c:8:
> drivers/watchdog/lenovo_se10_wdt.c: In function 'set_bram':
> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
>    596 | #define _outb _outb
> include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
>    655 | #define outb _outb
>        |              ^~~~~
> drivers/watchdog/lenovo_se10_wdt.c:67:9: note: in expansion of macro 'outb'
>     67 |         outb(offset, bram_base);
>        |         ^~~~
> 
> Add the same dependency we added to the other such drivers.
> 
> Fixes: 1f6602c8ed1e ("watchdog: lenovo_se10_wdt: Watchdog driver for Lenovo SE10 platform")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

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

> ---
>   drivers/watchdog/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 5f91921afc79..24ea3b6f95fe 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -257,6 +257,7 @@ config GPIO_WATCHDOG_ARCH_INITCALL
>   config LENOVO_SE10_WDT
>   	tristate "Lenovo SE10 Watchdog"
>   	depends on (X86 && DMI) || COMPILE_TEST
> +	depends on HAS_IOPORT
>   	select WATCHDOG_CORE
>   	help
>   	  If you say yes here you get support for the watchdog
diff mbox series

Patch

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 5f91921afc79..24ea3b6f95fe 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -257,6 +257,7 @@  config GPIO_WATCHDOG_ARCH_INITCALL
 config LENOVO_SE10_WDT
 	tristate "Lenovo SE10 Watchdog"
 	depends on (X86 && DMI) || COMPILE_TEST
+	depends on HAS_IOPORT
 	select WATCHDOG_CORE
 	help
 	  If you say yes here you get support for the watchdog