2024-05-28 12:08:14

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] watchdog: lenovo_se10_wdt: add HAS_IOPORT dependency

From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
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



2024-05-28 12:29:58

by Mark Pearson

[permalink] [raw]
Subject: Re: [PATCH] watchdog: lenovo_se10_wdt: add HAS_IOPORT dependency

Hi Arnd,

On Tue, May 28, 2024, at 8:07 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 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 <[email protected]>
> ---
> 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 <[email protected]>

Mark

2024-05-28 13:38:11

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] watchdog: lenovo_se10_wdt: add HAS_IOPORT dependency

On 5/28/24 05:07, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 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 <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> 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