2021-09-24 21:46:23

by Anders Roxell

[permalink] [raw]
Subject: [PATCH] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

When building an allmodconfig kernel, the following build error shows
up:

aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_probe':
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177: undefined reference to `hwmon_device_register_with_info'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177:(.text+0x510): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_register_with_info'
aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_remove':
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195: undefined reference to `hwmon_device_unregister'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195:(.text+0x5c8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_unregister'
aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_notify_event':
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206: undefined reference to `hwmon_notify_event'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206:(.text+0x64c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
aarch64-linux-gnu-ld: /home/anders/src/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209: undefined reference to `hwmon_notify_event'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209:(.text+0x66c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'

Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.

Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature notification support")
Signed-off-by: Anders Roxell <[email protected]>
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index 565e8aa6319d..30c6edb53be9 100644
--- a/drivers/scsi/ufs/Kconfig
+++ b/drivers/scsi/ufs/Kconfig
@@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION

config SCSI_UFS_HWMON
bool "UFS Temperature Notification"
- depends on SCSI_UFSHCD && HWMON
+ depends on SCSI_UFSHCD && HWMON=y
help
This provides support for UFS hardware monitoring. If enabled,
a hardware monitoring device will be created for the UFS device.
--
2.33.0


2021-09-24 22:14:52

by Avri Altman

[permalink] [raw]
Subject: RE: [PATCH] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

> > Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
> > 'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.
> >
> > Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature
> > notification support")
> > Signed-off-by: Anders Roxell <[email protected]>
> > ---
> > drivers/scsi/ufs/Kconfig | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig index
> > 565e8aa6319d..30c6edb53be9 100644
> > --- a/drivers/scsi/ufs/Kconfig
> > +++ b/drivers/scsi/ufs/Kconfig
> > @@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION
> >
> > config SCSI_UFS_HWMON
> > bool "UFS Temperature Notification"
> > - depends on SCSI_UFSHCD && HWMON
> > + depends on SCSI_UFSHCD && HWMON=y
> > help
> > This provides support for UFS hardware monitoring. If enabled,
> > a hardware monitoring device will be created for the UFS device.
> >
>
> Also-Reported-by: Randy Dunlap <[email protected]>
> Acked-by: Randy Dunlap <[email protected]> # build-tested
Acked-by: Avri Altman <[email protected]>

Thanks for fixing this.
Avri

>
> Thanks.
>
> --
> ~Randy

2021-09-24 22:18:54

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

On 9/24/21 11:59 AM, Avri Altman wrote:
>>> Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
>>> 'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.
>>>
>>> Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature
>>> notification support")
>>> Signed-off-by: Anders Roxell <[email protected]>
>>> ---
>>> drivers/scsi/ufs/Kconfig | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig index
>>> 565e8aa6319d..30c6edb53be9 100644
>>> --- a/drivers/scsi/ufs/Kconfig
>>> +++ b/drivers/scsi/ufs/Kconfig
>>> @@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION
>>>
>>> config SCSI_UFS_HWMON
>>> bool "UFS Temperature Notification"
>>> - depends on SCSI_UFSHCD && HWMON
>>> + depends on SCSI_UFSHCD && HWMON=y
>>> help
>>> This provides support for UFS hardware monitoring. If enabled,
>>> a hardware monitoring device will be created for the UFS device.

Thinking about this, it should be possible to do it like this
so that both SCSI_UFSHCD=m ad SCSI_HFS_HWMON=m would also work.
I.e., this would allow more combinations of Kconfig settings to
work. It only excludes SCSI_UFSH_HWMON=y and HWMON=m

+ depends on SCSI_UFSHCD=HWMON || HWMON=y

OK, I have verified that this works (builds) in all allowed
combinations. Anders, would you please resubmit the patch?


--
~Randy

2021-09-25 02:43:53

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

On 9/24/21 9:45 AM, Anders Roxell wrote:
> When building an allmodconfig kernel, the following build error shows
> up:
>
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_probe':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177: undefined reference to `hwmon_device_register_with_info'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177:(.text+0x510): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_register_with_info'
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_remove':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195: undefined reference to `hwmon_device_unregister'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195:(.text+0x5c8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_unregister'
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_notify_event':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206: undefined reference to `hwmon_notify_event'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206:(.text+0x64c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
> aarch64-linux-gnu-ld: /home/anders/src/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209: undefined reference to `hwmon_notify_event'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209:(.text+0x66c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
>
> Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
> 'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.
>
> Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature notification support")
> Signed-off-by: Anders Roxell <[email protected]>
> ---
> drivers/scsi/ufs/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
> index 565e8aa6319d..30c6edb53be9 100644
> --- a/drivers/scsi/ufs/Kconfig
> +++ b/drivers/scsi/ufs/Kconfig
> @@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION
>
> config SCSI_UFS_HWMON
> bool "UFS Temperature Notification"
> - depends on SCSI_UFSHCD && HWMON
> + depends on SCSI_UFSHCD && HWMON=y
> help
> This provides support for UFS hardware monitoring. If enabled,
> a hardware monitoring device will be created for the UFS device.
>

Also-Reported-by: Randy Dunlap <[email protected]>
Acked-by: Randy Dunlap <[email protected]> # build-tested

Thanks.

--
~Randy

2021-09-27 08:47:38

by Anders Roxell

[permalink] [raw]
Subject: Re: [PATCH] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

On Fri, 24 Sept 2021 at 21:53, Randy Dunlap <[email protected]> wrote:
>
> On 9/24/21 11:59 AM, Avri Altman wrote:
> >>> Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
> >>> 'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.
> >>>
> >>> Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature
> >>> notification support")
> >>> Signed-off-by: Anders Roxell <[email protected]>
> >>> ---
> >>> drivers/scsi/ufs/Kconfig | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig index
> >>> 565e8aa6319d..30c6edb53be9 100644
> >>> --- a/drivers/scsi/ufs/Kconfig
> >>> +++ b/drivers/scsi/ufs/Kconfig
> >>> @@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION
> >>>
> >>> config SCSI_UFS_HWMON
> >>> bool "UFS Temperature Notification"
> >>> - depends on SCSI_UFSHCD && HWMON
> >>> + depends on SCSI_UFSHCD && HWMON=y
> >>> help
> >>> This provides support for UFS hardware monitoring. If enabled,
> >>> a hardware monitoring device will be created for the UFS device.
>
> Thinking about this, it should be possible to do it like this
> so that both SCSI_UFSHCD=m ad SCSI_HFS_HWMON=m would also work.
> I.e., this would allow more combinations of Kconfig settings to
> work. It only excludes SCSI_UFSH_HWMON=y and HWMON=m
>
> + depends on SCSI_UFSHCD=HWMON || HWMON=y
>
> OK, I have verified that this works (builds) in all allowed
> combinations. Anders, would you please resubmit the patch?

Yeah, I'll send the patch.

Cheers,
Anders

2021-09-27 08:47:39

by Anders Roxell

[permalink] [raw]
Subject: [PATCHv2] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

When building an allmodconfig kernel, the following build error shows
up:

aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_probe':
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177: undefined reference to `hwmon_device_register_with_info'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177:(.text+0x510): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_register_with_info'
aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_remove':
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195: undefined reference to `hwmon_device_unregister'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195:(.text+0x5c8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_unregister'
aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_notify_event':
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206: undefined reference to `hwmon_notify_event'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206:(.text+0x64c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
aarch64-linux-gnu-ld: /home/anders/src/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209: undefined reference to `hwmon_notify_event'
/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209:(.text+0x66c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'

Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.

Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature notification support")
Also-Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: Anders Roxell <[email protected]>
Acked-by: Randy Dunlap <[email protected]> # build-tested
Acked-by: Avri Altman <[email protected]>
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index 565e8aa6319d..2ca69f87e4de 100644
--- a/drivers/scsi/ufs/Kconfig
+++ b/drivers/scsi/ufs/Kconfig
@@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION

config SCSI_UFS_HWMON
bool "UFS Temperature Notification"
- depends on SCSI_UFSHCD && HWMON
+ depends on SCSI_UFSHCD=HWMON || HWMON=y
help
This provides support for UFS hardware monitoring. If enabled,
a hardware monitoring device will be created for the UFS device.
--
2.33.0

2021-09-29 03:27:41

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCHv2] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y


Anders,

> Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
> 'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.

Applied to 5.16/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering

2021-10-05 04:36:53

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCHv2] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

On Mon, 27 Sep 2021 10:46:15 +0200, Anders Roxell wrote:

> When building an allmodconfig kernel, the following build error shows
> up:
>
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_probe':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177: undefined reference to `hwmon_device_register_with_info'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177:(.text+0x510): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_register_with_info'
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_remove':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195: undefined reference to `hwmon_device_unregister'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195:(.text+0x5c8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_unregister'
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_notify_event':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206: undefined reference to `hwmon_notify_event'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206:(.text+0x64c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
> aarch64-linux-gnu-ld: /home/anders/src/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209: undefined reference to `hwmon_notify_event'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209:(.text+0x66c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
>
> [...]

Applied to 5.16/scsi-queue, thanks!

[1/1] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y
https://git.kernel.org/mkp/scsi/c/60c98a87fcaa

--
Martin K. Petersen Oracle Linux Engineering

2021-11-06 21:36:42

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCHv2] scsi: ufs: Kconfig: SCSI_UFS_HWMON depens on HWMON=y

Hi Anders,

On Mon, Sep 27, 2021 at 10:47 AM Anders Roxell <[email protected]> wrote:
> When building an allmodconfig kernel, the following build error shows
> up:
>
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_probe':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177: undefined reference to `hwmon_device_register_with_info'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:177:(.text+0x510): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_register_with_info'
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_remove':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195: undefined reference to `hwmon_device_unregister'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:195:(.text+0x5c8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_device_unregister'
> aarch64-linux-gnu-ld: drivers/scsi/ufs/ufs-hwmon.o: in function `ufs_hwmon_notify_event':
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206: undefined reference to `hwmon_notify_event'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:206:(.text+0x64c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
> aarch64-linux-gnu-ld: /home/anders/src/kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209: undefined reference to `hwmon_notify_event'
> /kernel/next/drivers/scsi/ufs/ufs-hwmon.c:209:(.text+0x66c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `hwmon_notify_event'
>
> Since fragment 'SCSI_UFS_HWMON' can't be build as a module,
> 'SCSI_UFS_HWMON' has to depend on 'HWMON=y'.
>
> Fixes: e88e2d32200a ("scsi: ufs: core: Probe for temperature notification support")
> Also-Reported-by: Randy Dunlap <[email protected]>
> Signed-off-by: Anders Roxell <[email protected]>
> Acked-by: Randy Dunlap <[email protected]> # build-tested
> Acked-by: Avri Altman <[email protected]>
> ---
> drivers/scsi/ufs/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
> index 565e8aa6319d..2ca69f87e4de 100644
> --- a/drivers/scsi/ufs/Kconfig
> +++ b/drivers/scsi/ufs/Kconfig
> @@ -202,7 +202,7 @@ config SCSI_UFS_FAULT_INJECTION
>
> config SCSI_UFS_HWMON
> bool "UFS Temperature Notification"
> - depends on SCSI_UFSHCD && HWMON
> + depends on SCSI_UFSHCD=HWMON || HWMON=y

Which is also true if both SCSI_UFSHCD and HWMON are disabled,
thus exposing this question to everyone?

Fix sent
"[PATCH] scsi: ufs: Wrap Universal Flash Storage drivers in SCSI_UFSHCD"
https://lore.kernel.org/all/[email protected]/

> help
> This provides support for UFS hardware monitoring. If enabled,
> a hardware monitoring device will be created for the UFS device.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds