[PATCH 0/6] Add an asm-generic cpuinfo_op declaration

Geert Uytterhoeven geert at linux-m68k.org
Mon Aug 22 02:36:51 PDT 2022


Hi Conor,

On Sun, Aug 21, 2022 at 1:36 PM Conor Dooley <mail at conchuod.ie> wrote:
> From: Conor Dooley <conor.dooley at microchip.com>
>
> RISC-V is missing a prototype for cpuinfo_op. Rather than adding yet
> another `extern const struct seq_operations cpuinfo_op;` to an arch
> specific header file, create an asm-generic variant and migrate the
> existing arch variants there too. Obv. there are other archs that use
> cpuinfo_op but don't declare it and surely also have the same warning?
> I went for the minimum change here, but would be perfectly happy to
> extend the change to all archs if this change is worthwhile. Or just
> make a header in arch/riscv, any of the three work for me!
>
> If this isn't the approach I should've gone for, any direction would
> be great :) I tried pushing this last weekend to get LKP to test it but
> I got neither a build success nor a build failure email from it, so
> I figured I may as well just send the patches..
>
> I wasn't too sure if this could be a single patch, so I split it out
> into a patch fixing the issue on RISC-V & copy-paste patches for each
> arch that I moved.

Thanks for your series!

> Conor Dooley (6):
>   asm-generic: add a cpuinfo_ops definition in shared code
>   microblaze: use the asm-generic version of cpuinfo_op
>   s390: use the asm-generic version of cpuinfo_op
>   sh: use the asm-generic version of cpuinfo_op
>   sparc: use the asm-generic version of cpuinfo_op
>   x86: use the asm-generic version of cpuinfo_op
>
>  arch/microblaze/include/asm/processor.h | 2 +-
>  arch/riscv/include/asm/processor.h      | 1 +
>  arch/s390/include/asm/processor.h       | 2 +-
>  arch/sh/include/asm/processor.h         | 2 +-
>  arch/sparc/include/asm/cpudata.h        | 3 +--
>  arch/x86/include/asm/processor.h        | 2 +-
>  include/asm-generic/processor.h         | 7 +++++++
>  7 files changed, 13 insertions(+), 6 deletions(-)
>  create mode 100644 include/asm-generic/processor.h

I was a bit surprised not to find fs/proc/cpuinfo.c in the diffstat
above. That file already has an external declaration for cpuinfo_op,
and uses it rather unconditionally (that is, if CONFIG_PROC_FS=y)
on all architectures.

So I think you can just move that to include/linux/processor.h, include
the latter everywhere, and drop all architecture-specific copies.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-riscv mailing list