diff mbox series

watchdog: iTCO: fix link error

Message ID 20200428212959.2993304-1-arnd@arndb.de (mailing list archive)
State Accepted
Headers show
Series watchdog: iTCO: fix link error | expand

Commit Message

Arnd Bergmann April 28, 2020, 9:29 p.m. UTC
When the MFD driver is a loadable module, the watchdog driver fails
to get linked into the kernel:

drivers/watchdog/iTCO_wdt.o: In function `update_no_reboot_bit_pmc':
iTCO_wdt.c:(.text+0x54f): undefined reference to `intel_pmc_gcr_update'

The code is written to support operation without the MFD driver, so
add a Kconfig dependency that allows this, while disallowing the watchdog
to be built-in when the MFD driver is a module.

Fixes: 25f1ca31e230 ("platform/x86: intel_pmc_ipc: Convert to MFD")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/watchdog/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Andy Shevchenko April 28, 2020, 10:05 p.m. UTC | #1
On Wed, Apr 29, 2020 at 12:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
>
> When the MFD driver is a loadable module, the watchdog driver fails
> to get linked into the kernel:
>
> drivers/watchdog/iTCO_wdt.o: In function `update_no_reboot_bit_pmc':
> iTCO_wdt.c:(.text+0x54f): undefined reference to `intel_pmc_gcr_update'
>
> The code is written to support operation without the MFD driver, so
> add a Kconfig dependency that allows this, while disallowing the watchdog
> to be built-in when the MFD driver is a module.
>
> Fixes: 25f1ca31e230 ("platform/x86: intel_pmc_ipc: Convert to MFD")
> 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 66ca69f30f01..67a83578810e 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -1217,6 +1217,7 @@ config ITCO_WDT
>         depends on (X86 || IA64) && PCI
>         select WATCHDOG_CORE
>         depends on I2C || I2C=n
> +       depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT

Can we use same format as for I2C?

>         select LPC_ICH if !EXPERT
>         select I2C_I801 if !EXPERT && I2C
>         ---help---
> --
> 2.26.0
>
Guenter Roeck April 29, 2020, 12:26 p.m. UTC | #2
On 4/28/20 2:29 PM, Arnd Bergmann wrote:
> When the MFD driver is a loadable module, the watchdog driver fails
> to get linked into the kernel:
> 
> drivers/watchdog/iTCO_wdt.o: In function `update_no_reboot_bit_pmc':
> iTCO_wdt.c:(.text+0x54f): undefined reference to `intel_pmc_gcr_update'
> 
> The code is written to support operation without the MFD driver, so
> add a Kconfig dependency that allows this, while disallowing the watchdog
> to be built-in when the MFD driver is a module.
> 
> Fixes: 25f1ca31e230 ("platform/x86: intel_pmc_ipc: Convert to MFD")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-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 66ca69f30f01..67a83578810e 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -1217,6 +1217,7 @@ config ITCO_WDT
>  	depends on (X86 || IA64) && PCI
>  	select WATCHDOG_CORE
>  	depends on I2C || I2C=n
> +	depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
>  	select LPC_ICH if !EXPERT
>  	select I2C_I801 if !EXPERT && I2C
>  	---help---
>
Mika Westerberg April 29, 2020, 12:52 p.m. UTC | #3
On Tue, Apr 28, 2020 at 11:29:11PM +0200, Arnd Bergmann wrote:
> When the MFD driver is a loadable module, the watchdog driver fails
> to get linked into the kernel:
> 
> drivers/watchdog/iTCO_wdt.o: In function `update_no_reboot_bit_pmc':
> iTCO_wdt.c:(.text+0x54f): undefined reference to `intel_pmc_gcr_update'
> 
> The code is written to support operation without the MFD driver, so
> add a Kconfig dependency that allows this, while disallowing the watchdog
> to be built-in when the MFD driver is a module.
> 
> Fixes: 25f1ca31e230 ("platform/x86: intel_pmc_ipc: Convert to MFD")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
diff mbox series

Patch

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 66ca69f30f01..67a83578810e 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -1217,6 +1217,7 @@  config ITCO_WDT
 	depends on (X86 || IA64) && PCI
 	select WATCHDOG_CORE
 	depends on I2C || I2C=n
+	depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
 	select LPC_ICH if !EXPERT
 	select I2C_I801 if !EXPERT && I2C
 	---help---