On 11/12/2018 17:21, Stephen Boyd wrote: > 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. Not that I know of. I just think that the function should/would not be used for non-SMP. I was actually thinking that we could just leave the clk code as it is and simply drop the CONFIG_SMP from pmc.h. That would be fine with me. Cheers Jon -- nvpublic