Re: [PATCH] clk: tegra: fix SMP build

From: Stephen Boyd
Date: Tue Dec 11 2018 - 12:21:16 EST


Quoting Arnd Bergmann (2018-12-11 06:35:07)
> When CONFIG_SMP is disabled, the tegra clk driver now fails to build:
>
> drivers/clk/tegra/clk-tegra30.c: In function 'tegra30_cpu_rail_off_ready':
> drivers/clk/tegra/clk-tegra30.c:1151:19: error: implicit declaration of function 'tegra_pmc_cpu_is_powered'; did you mean 'tegra_powergate_is_powered'? [-Werror=implicit-function-declaration]
> cpu_pwr_status = tegra_pmc_cpu_is_powered(1) ||
>
> I don't know if tegra works without CONFIG_SMP, but we can get it to
> build by making the calls conditional, and removing the pointless
> ifdef around the declaration. The assumption now is that in a
> non-SMP system, the secondary CPUs are always disabled.
>
> Fixes: 61866523ed6e ("clk: tegra30: Use Tegra CPU powergate helper function")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> Not sure if this is the best solution. If you think it's not, please
> submit a different fix.

Hmm.. Is there any reason why the implementation of
tegra_pmc_cpu_is_powered() is under an ifdef CONFIG_SMP? I'd rather not
have to think about SMP or not in this clk code and have the
tegra_pmc_cpu_is_powered() function do the UP vs SMP code optimization.