mbox series

[v3,0/4] LoongArch, MIPS: Unify Loongson IOCSR handling

Message ID 20240913-iocsr-v3-0-81a57f60350d@flygoat.com (mailing list archive)
Headers show
Series LoongArch, MIPS: Unify Loongson IOCSR handling | expand

Message

Jiaxun Yang Sept. 13, 2024, 8:32 p.m. UTC
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,