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