2021-07-21 21:01:40

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] arm64: tegra: add regulator dependency

From: Arnd Bergmann <[email protected]>

The two regulator drivers in the drivers/soc/ directory fail to build
when regulator support is disabled:

aarch64-linux-ld: drivers/soc/tegra/regulators-tegra20.o: in function `tegra20_regulator_reboot':
regulators-tegra20.c:(.text.tegra20_regulator_reboot+0x4c): undefined reference to `regulator_sync_voltage_rdev'
aarch64-linux-ld: regulators-tegra20.c:(.text.tegra20_regulator_reboot+0x58): undefined reference to `regulator_sync_voltage_rdev'
aarch64-linux-ld: drivers/soc/tegra/regulators-tegra30.o: in function `tegra30_regulator_reboot':
regulators-tegra30.c:(.text.tegra30_regulator_reboot+0x44): undefined reference to `regulator_sync_voltage_rdev'
aarch64-linux-ld: regulators-tegra30.c:(.text.tegra30_regulator_reboot+0x50): undefined reference to `regulator_sync_voltage_rdev'

Add a Kconfig dependency to avoid this configuration.

Fixes: 496747e7d907 ("soc/tegra: regulators: Add regulators coupler for Tegra20")
Fixes: 783807436f36 ("soc/tegra: regulators: Add regulators coupler for Tegra30")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/soc/tegra/Kconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig
index db49075b1946..c56122be27a9 100644
--- a/drivers/soc/tegra/Kconfig
+++ b/drivers/soc/tegra/Kconfig
@@ -153,8 +153,10 @@ config SOC_TEGRA_POWERGATE_BPMP

config SOC_TEGRA20_VOLTAGE_COUPLER
bool "Voltage scaling support for Tegra20 SoCs"
+ depends on REGULATOR
depends on ARCH_TEGRA_2x_SOC || COMPILE_TEST

config SOC_TEGRA30_VOLTAGE_COUPLER
bool "Voltage scaling support for Tegra30 SoCs"
+ depends on REGULATOR
depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST
--
2.29.2


2021-07-21 21:02:53

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [PATCH] arm64: tegra: add regulator dependency

21.07.2021 18:14, Arnd Bergmann пишет:
> From: Arnd Bergmann <[email protected]>
>
> The two regulator drivers in the drivers/soc/ directory fail to build
> when regulator support is disabled:
>
> aarch64-linux-ld: drivers/soc/tegra/regulators-tegra20.o: in function `tegra20_regulator_reboot':
> regulators-tegra20.c:(.text.tegra20_regulator_reboot+0x4c): undefined reference to `regulator_sync_voltage_rdev'
> aarch64-linux-ld: regulators-tegra20.c:(.text.tegra20_regulator_reboot+0x58): undefined reference to `regulator_sync_voltage_rdev'
> aarch64-linux-ld: drivers/soc/tegra/regulators-tegra30.o: in function `tegra30_regulator_reboot':
> regulators-tegra30.c:(.text.tegra30_regulator_reboot+0x44): undefined reference to `regulator_sync_voltage_rdev'
> aarch64-linux-ld: regulators-tegra30.c:(.text.tegra30_regulator_reboot+0x50): undefined reference to `regulator_sync_voltage_rdev'
>
> Add a Kconfig dependency to avoid this configuration.
>
> Fixes: 496747e7d907 ("soc/tegra: regulators: Add regulators coupler for Tegra20")
> Fixes: 783807436f36 ("soc/tegra: regulators: Add regulators coupler for Tegra30")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/soc/tegra/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig
> index db49075b1946..c56122be27a9 100644
> --- a/drivers/soc/tegra/Kconfig
> +++ b/drivers/soc/tegra/Kconfig
> @@ -153,8 +153,10 @@ config SOC_TEGRA_POWERGATE_BPMP
>
> config SOC_TEGRA20_VOLTAGE_COUPLER
> bool "Voltage scaling support for Tegra20 SoCs"
> + depends on REGULATOR
> depends on ARCH_TEGRA_2x_SOC || COMPILE_TEST
>
> config SOC_TEGRA30_VOLTAGE_COUPLER
> bool "Voltage scaling support for Tegra30 SoCs"
> + depends on REGULATOR
> depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST
>

Hello Arnd,

Thank you for the patch!

I also sent out the fix [1] about a month ago and was trying to ping
Thierry. Unfortunately there was no reaction so far and now Thierry is
on vacation.

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/[email protected]/

It looks like my variant of the fix should be a bit more correct since
it won't build the regulator drivers if both TEGRA=n and REGULATOR=n.

I guess it should be fine if you could take the patch directly, perhaps
Jon could ack the patch for that. Otherwise we could wait for Thierry to
return.