Hi folks,
This series unfied LoongArch and MIPS's IOCSR functions and
macros so they will expose same interface to arch-indenpendent
drivers.
This can reduce code deuplication, and also help my unifed IPI driver
and MIPS extio driver effort.
This is touching many sub-systems in once so might be hard to merge.
Huacai, can you apply first three patch via loongarch-next tree.
For last two patch maybe better merge them via a second PR after
all subsystem PRs merged.
No functional change so hope it's not too late for 6.12 :-)
Please review.
Thanks
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
Changes in v3:
- Convert if to switch case in patch 1
- Fix typo in patch 2
- Link to v2: https://lore.kernel.org/r/20240912-iocsr-v2-0-e88f75b37da4@flygoat.com
Changes in v2:
- Drop patch 1
- Move IOCSR probing to cpu_probe_loongson
- Fix build error for CPUFREQ driver
- Link to v1: https://lore.kernel.org/r/20240907-iocsr-v1-0-0c99b3334444@flygoat.com
---
Jiaxun Yang (4):
LoongArch: Probe more CPU features from CPUCFG
LoongArch: cpu-probe: Move IOCSR probing out of cpu_probe_common
LoongArch: Extract IOCSR definitions to standalone header
MIPS: Loongson64: Use shared IOCSR header
MAINTAINERS | 1 +
arch/loongarch/include/asm/cpu.h | 4 +
arch/loongarch/include/asm/loongarch.h | 93 +---------------
arch/loongarch/kernel/cpu-probe.c | 117 ++++++++++++---------
arch/loongarch/kernel/relocate_kernel.S | 5 +-
arch/loongarch/kernel/smp.c | 23 ++--
.../include/asm/mach-loongson64/loongson_regs.h | 58 +++-------
arch/mips/kvm/vz.c | 2 +-
arch/mips/loongson64/smp.c | 44 ++++----
drivers/cpufreq/loongson3_cpufreq.c | 11 +-
drivers/irqchip/irq-loongarch-avec.c | 5 +-
drivers/irqchip/irq-loongson-eiointc.c | 5 +-
drivers/platform/mips/cpu_hwmon.c | 7 +-
include/linux/loongson/iocsr.h | 113 ++++++++++++++++++++
14 files changed, 258 insertions(+), 230 deletions(-)
---
base-commit: 9aaeb87ce1e966169a57f53a02ba05b30880ffb8
change-id: 20240906-iocsr-829075458511
Best regards,
--
Jiaxun Yang <jiaxun.yang@flygoat.com>