Hi Conor, On Sun, Aug 21, 2022 at 1:36 PM Conor Dooley <mail@xxxxxxxxxxx> wrote: > From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxx 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