[PATCH] platform/x86/amd/hsmp: fix building with CONFIG_HWMON=m

Arnd Bergmann posted 1 patch 7 months ago
drivers/platform/x86/amd/hsmp/Kconfig | 2 ++
1 file changed, 2 insertions(+)
[PATCH] platform/x86/amd/hsmp: fix building with CONFIG_HWMON=m
Posted by Arnd Bergmann 7 months ago
From: Arnd Bergmann <arnd@arndb.de>

When CONFIG_HWMON is built as a loadable module, the HSMP drivers
cannot be built-in:

ERROR: modpost: "hsmp_create_sensor" [drivers/platform/x86/amd/hsmp/amd_hsmp.ko] undefined!
ERROR: modpost: "hsmp_create_sensor" [drivers/platform/x86/amd/hsmp/hsmp_acpi.ko] undefined!

Enforce that through the usual Kconfig dependnecy trick.

Fixes: 92c025db52bb ("platform/x86/amd/hsmp: Report power via hwmon sensors")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/platform/x86/amd/hsmp/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/platform/x86/amd/hsmp/Kconfig b/drivers/platform/x86/amd/hsmp/Kconfig
index d6f7a62d55b5..2911120792e8 100644
--- a/drivers/platform/x86/amd/hsmp/Kconfig
+++ b/drivers/platform/x86/amd/hsmp/Kconfig
@@ -12,6 +12,7 @@ menu "AMD HSMP Driver"
 config AMD_HSMP_ACPI
 	tristate "AMD HSMP ACPI device driver"
 	depends on ACPI
+	depends on HWMON || !HWMON
 	select AMD_HSMP
 	help
 	  Host System Management Port (HSMP) interface is a mailbox interface
@@ -29,6 +30,7 @@ config AMD_HSMP_ACPI
 
 config AMD_HSMP_PLAT
 	tristate "AMD HSMP platform device driver"
+	depends on HWMON || !HWMON
 	select AMD_HSMP
 	help
 	  Host System Management Port (HSMP) interface is a mailbox interface
-- 
2.39.5
Re: [PATCH] platform/x86/amd/hsmp: fix building with CONFIG_HWMON=m
Posted by Suma Hegde 7 months ago
Hi Arnd,


On 5/22/2025 8:08 PM, Arnd Bergmann wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> When CONFIG_HWMON is built as a loadable module, the HSMP drivers
> cannot be built-in:
>
> ERROR: modpost: "hsmp_create_sensor" [drivers/platform/x86/amd/hsmp/amd_hsmp.ko] undefined!
> ERROR: modpost: "hsmp_create_sensor" [drivers/platform/x86/amd/hsmp/hsmp_acpi.ko] undefined!
>
> Enforce that through the usual Kconfig dependnecy trick.
>
> Fixes: 92c025db52bb ("platform/x86/amd/hsmp: Report power via hwmon sensors")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   drivers/platform/x86/amd/hsmp/Kconfig | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/x86/amd/hsmp/Kconfig b/drivers/platform/x86/amd/hsmp/Kconfig
> index d6f7a62d55b5..2911120792e8 100644
> --- a/drivers/platform/x86/amd/hsmp/Kconfig
> +++ b/drivers/platform/x86/amd/hsmp/Kconfig
> @@ -12,6 +12,7 @@ menu "AMD HSMP Driver"
>   config AMD_HSMP_ACPI
>          tristate "AMD HSMP ACPI device driver"
>          depends on ACPI
> +       depends on HWMON || !HWMON


Thanks for sending this fix.  I verified it.

Along with this  fix, I will change IS_REACHABLE() to IS_ENABLED() in 
hsmp.h as its not necessary and send v2 of this patch.

-#if IS_REACHABLE(CONFIG_HWMON)
+#if IS_ENABLED(CONFIG_HWMON)
  int hsmp_create_sensor(struct device *dev, u16 sock_ind);
  #else
static inline int hsmp_create_sensor(struct device *dev, u16 sock_ind) { 
return 0; }
#endif

>          select AMD_HSMP
>          help
>            Host System Management Port (HSMP) interface is a mailbox interface
> @@ -29,6 +30,7 @@ config AMD_HSMP_ACPI
>
>   config AMD_HSMP_PLAT
>          tristate "AMD HSMP platform device driver"
> +       depends on HWMON || !HWMON
>          select AMD_HSMP
>          help
>            Host System Management Port (HSMP) interface is a mailbox interface
> --
> 2.39.5


Thanks and Regards,

Suma

Re: [PATCH] platform/x86/amd/hsmp: fix building with CONFIG_HWMON=m
Posted by Ilpo Järvinen 6 months, 3 weeks ago
On Fri, 23 May 2025, Suma Hegde wrote:

> Hi Arnd,
> 
> 
> On 5/22/2025 8:08 PM, Arnd Bergmann wrote:
> > Caution: This message originated from an External Source. Use proper caution
> > when opening attachments, clicking links, or responding.
> > 
> > 
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > When CONFIG_HWMON is built as a loadable module, the HSMP drivers
> > cannot be built-in:
> > 
> > ERROR: modpost: "hsmp_create_sensor"
> > [drivers/platform/x86/amd/hsmp/amd_hsmp.ko] undefined!
> > ERROR: modpost: "hsmp_create_sensor"
> > [drivers/platform/x86/amd/hsmp/hsmp_acpi.ko] undefined!
> > 
> > Enforce that through the usual Kconfig dependnecy trick.
> > 
> > Fixes: 92c025db52bb ("platform/x86/amd/hsmp: Report power via hwmon
> > sensors")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> >   drivers/platform/x86/amd/hsmp/Kconfig | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/platform/x86/amd/hsmp/Kconfig
> > b/drivers/platform/x86/amd/hsmp/Kconfig
> > index d6f7a62d55b5..2911120792e8 100644
> > --- a/drivers/platform/x86/amd/hsmp/Kconfig
> > +++ b/drivers/platform/x86/amd/hsmp/Kconfig
> > @@ -12,6 +12,7 @@ menu "AMD HSMP Driver"
> >   config AMD_HSMP_ACPI
> >          tristate "AMD HSMP ACPI device driver"
> >          depends on ACPI
> > +       depends on HWMON || !HWMON
> 
> 
> Thanks for sending this fix.  I verified it.
> 
> Along with this  fix, I will change IS_REACHABLE() to IS_ENABLED() in hsmp.h
> as its not necessary and send v2 of this patch.
> 
> -#if IS_REACHABLE(CONFIG_HWMON)
> +#if IS_ENABLED(CONFIG_HWMON)
>  int hsmp_create_sensor(struct device *dev, u16 sock_ind);
>  #else
> static inline int hsmp_create_sensor(struct device *dev, u16 sock_ind) {
> return 0; }
> #endif
> 
> >          select AMD_HSMP
> >          help
> >            Host System Management Port (HSMP) interface is a mailbox
> > interface
> > @@ -29,6 +30,7 @@ config AMD_HSMP_ACPI
> > 
> >   config AMD_HSMP_PLAT
> >          tristate "AMD HSMP platform device driver"
> > +       depends on HWMON || !HWMON
> >          select AMD_HSMP
> >          help
> >            Host System Management Port (HSMP) interface is a mailbox
> > interface

Hi,

I've taken Arnd's patch now as the merge window is pressing in and this 
issue is disturbing build testing.

-- 
 i.