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

Randy Dunlap rdunlap at infradead.org
Sun Apr 3 20:36:50 PDT 2022



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 at infradead.org> 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 at infradead.org>
>> Reported-by: kernel test robot <lkp at intel.com>
>> Cc: Anup Patel <anup.patel at wdc.com>
>> Cc: Anup Patel <anup at brainfault.org>
>> Cc: Anup Patel <apatel at ventanamicro.com>
>> Cc: Atish Patra <atishp at rivosinc.com>
>> Cc: Daniel Lezcano <daniel.lezcano at linaro.org>
>> Cc: "Rafael J. Wysocki" <rafael at kernel.org>
>> Cc: linux-pm at vger.kernel.org
>> Cc: linux-riscv at lists.infradead.org
>> Cc: Palmer Dabbelt <palmer at rivosinc.com>
>> Cc: Paul Walmsley <paul.walmsley at sifive.com>
>> Cc: Albert Ou <aou at eecs.berkeley.edu>
>> ---
>>  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 at brainfault.org>
> 

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



More information about the linux-riscv mailing list