Re: [PATCH -next] cpuidle: riscv: support non-SMP config

From: Randy Dunlap
Date: Sun Apr 03 2022 - 23:39:40 EST




On 4/3/22 20:05, Anup Patel wrote:
> (Removed my WDC email because it does not exist anymore)
>
> On Sun, Apr 3, 2022 at 8:44 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>
>> Add <asm/smp.h> for cpuid_to_hartid_map etc.
>> This is needed for both SMP and non-SMP builds, but not having it
>> causes a build error for non-SMP:
>>
>> drivers/cpuidle/cpuidle-riscv-sbi.c: In function 'sbi_cpuidle_init_cpu':
>> drivers/cpuidle/cpuidle-riscv-sbi.c:350:26: error: implicit declaration of function 'cpuid_to_hartid_map' [-Werror=implicit-function-declaration]
>>
>> Fixes: 6abf32f1d9c5 ("cpuidle: Add RISC-V SBI CPU idle driver")
>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> Cc: Anup Patel <anup.patel@xxxxxxx>
>> Cc: Anup Patel <anup@xxxxxxxxxxxxxx>
>> Cc: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
>> Cc: Atish Patra <atishp@xxxxxxxxxxxx>
>> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
>> Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
>> Cc: linux-pm@xxxxxxxxxxxxxxx
>> Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
>> Cc: Palmer Dabbelt <palmer@xxxxxxxxxxxx>
>> Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx>
>> Cc: Albert Ou <aou@xxxxxxxxxxxxxxxxx>
>> ---
>> drivers/cpuidle/cpuidle-riscv-sbi.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> --- linux-next-20220401.orig/drivers/cpuidle/cpuidle-riscv-sbi.c
>> +++ linux-next-20220401/drivers/cpuidle/cpuidle-riscv-sbi.c
>> @@ -22,6 +22,7 @@
>> #include <linux/pm_runtime.h>
>> #include <asm/cpuidle.h>
>> #include <asm/sbi.h>
>> +#include <asm/smp.h>
>
> I suggest include linux/smp.h here instead of asm/smp.h
>
> Otherwise it looks good to me.
>
> Reviewed-by: Anup Patel <anup@xxxxxxxxxxxxxx>
>

Yeah, checkpatch also suggested that but it does not work.
Yes, I tested it.

linux/smp.h only #includes <asm/smp.h> if CONFIG_SMP is enabled,
and this patch needs <asm/smp.h> for the non-SMP case.

>
>> #include <asm/suspend.h>
>>
>> #include "dt_idle_states.h"

thanks.
--
~Randy