[PATCH] RISC-V: cpu_ops_spinwait.c should include head.h

Palmer Dabbelt palmer at dabbelt.com
Thu Aug 11 14:06:57 PDT 2022


On Thu, 14 Jul 2022 00:41:12 PDT (-0700), Conor.Dooley at microchip.com wrote:
> On 14/07/2022 08:29, Ben Dooks wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>> 
>> On 14/07/2022 07:33, Conor.Dooley at microchip.com wrote:
>>> On 13/07/2022 22:53, Ben Dooks wrote:
>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>
>>>> Running sparse shows cpu_ops_spinwait.c is missing two definitions
>>>> found in head.h, so include it to stop the following warnings:
>>>>
>>>> arch/riscv/kernel/cpu_ops_spinwait.c:15:6: warning: symbol '__cpu_spinwait_stack_pointer' was not declared. Should it be static?
>>>> arch/riscv/kernel/cpu_ops_spinwait.c:16:6: warning: symbol '__cpu_spinwait_task_pointer' was not declared. Should it be static?
>>>>
>>>> Signed-off-by: Ben Dooks <ben.dooks at sifive.com>
>>>
>>> Hey Ben,
>>> With this applied I still see a:
>>> arch/riscv/kernel/cpu_ops.c:21:29: warning: symbol 'cpu_ops_spinwait' was not declared. Should it be static?
>>>
>>> Seems to be in the same ballpack, so maybe you could fix that one too?
>> 
>> I've done that as a new patch in case it needs to be moved.
>> Not sure head.h was the right place nor where it ended up.
> 
> This is a rabbit hole man. I found another one while checking by
> build logs to check that that one had been fixed. I'll send a patch
> this time..
> 
> For this one:
> Reviewed-by: Conor Dooley <conor.dooley at microchip.com>

IMO we also need something like this

    diff --git a/arch/riscv/kernel/cpu_ops.c b/arch/riscv/kernel/cpu_ops.c
    index 170d07e57721..f92c0e6eddb1 100644
    --- a/arch/riscv/kernel/cpu_ops.c
    +++ b/arch/riscv/kernel/cpu_ops.c
    @@ -15,9 +15,7 @@
     const struct cpu_operations *cpu_ops[NR_CPUS] __ro_after_init;
    
     extern const struct cpu_operations cpu_ops_sbi;
    -#ifdef CONFIG_RISCV_BOOT_SPINWAIT
    -extern const struct cpu_operations cpu_ops_spinwait;
    -#else
    +#ifndef CONFIG_RISCV_BOOT_SPINWAIT
     const struct cpu_operations cpu_ops_spinwait = {
            .name           = "",
            .cpu_prepare    = NULL,

I squashed that in and added a CONFIG_RISCV_BOOT_SPINWAIT=y test, as 
defconfig is =n now.  I'm not seeing these warnings, but it's cleaner 
this way.



More information about the linux-riscv mailing list