Re: [PATCH 0/7] Remove 40x
From: "Rob Herring (Arm)" <robh@kernel.org>
Date: 2024-05-06 20:40:32
Also in:
lkml
On Mon, 06 May 2024 22:51:45 +1000, Michael Ellerman wrote:
The 40x platforms & CPUs are old and have been unmaintained for years, and as far as we can tell have no users. Note 44x and 476 are not affected. Christophe first proposed removing 40x in 2020: https://lore.kernel.org/linuxppc-dev/40899eb1b8f10da3706acd06c3d46d2418c8886e.1585635837.git.christophe.leroy@c-s.fr/ (local) And on a few subsequent occasions. The proposed removal was covered on Phronix: https://www.phoronix.com/news/PowerPC-40x-400-Linux-Removal OpenWRT dropped support in 2019. So unless anyone steps up to maintain it, remove 40x as unused. RIP. cheers More context: https://github.com/linuxppc/issues/issues/349 Christophe Leroy (4): powerpc/40x: Remove 40x platforms. powerpc/boot: Remove all 40x platforms from boot powerpc: Remove core support for 40x powerpc/platforms: Move files from 4xx to 44x Michael Ellerman (3): powerpc: Remove 40x from Kconfig and defconfig powerpc/4xx: Remove CONFIG_BOOKE_OR_40x powerpc: Replace CONFIG_4xx with CONFIG_44x MAINTAINERS | 1 - arch/powerpc/Kconfig | 17 +- arch/powerpc/Kconfig.debug | 13 - arch/powerpc/Makefile | 5 - arch/powerpc/boot/4xx.c | 266 ------- arch/powerpc/boot/4xx.h | 4 - arch/powerpc/boot/Makefile | 11 - arch/powerpc/boot/cuboot-acadia.c | 171 ----- arch/powerpc/boot/cuboot-hotfoot.c | 139 ---- arch/powerpc/boot/cuboot-kilauea.c | 46 -- arch/powerpc/boot/dcr.h | 11 - arch/powerpc/boot/dts/acadia.dts | 224 ------ arch/powerpc/boot/dts/hotfoot.dts | 296 ------- arch/powerpc/boot/dts/kilauea.dts | 407 ---------- arch/powerpc/boot/dts/obs600.dts | 314 -------- arch/powerpc/boot/ppcboot-hotfoot.h | 119 --- arch/powerpc/boot/ppcboot.h | 2 +- arch/powerpc/configs/40x.config | 2 - arch/powerpc/configs/40x/acadia_defconfig | 61 -- arch/powerpc/configs/40x/kilauea_defconfig | 69 -- arch/powerpc/configs/40x/klondike_defconfig | 43 -- arch/powerpc/configs/40x/makalu_defconfig | 59 -- arch/powerpc/configs/40x/obs600_defconfig | 69 -- arch/powerpc/configs/40x/walnut_defconfig | 55 -- arch/powerpc/configs/ppc40x_defconfig | 74 -- arch/powerpc/include/asm/cacheflush.h | 2 +- arch/powerpc/include/asm/cputable.h | 7 - arch/powerpc/include/asm/hw_irq.h | 8 +- arch/powerpc/include/asm/irq.h | 2 +- arch/powerpc/include/asm/kup.h | 2 +- arch/powerpc/include/asm/mmu.h | 7 - arch/powerpc/include/asm/nohash/32/mmu-40x.h | 68 -- arch/powerpc/include/asm/nohash/32/pgtable.h | 4 +- arch/powerpc/include/asm/nohash/32/pte-40x.h | 73 -- arch/powerpc/include/asm/nohash/mmu.h | 5 +- arch/powerpc/include/asm/ppc_asm.h | 2 +- arch/powerpc/include/asm/processor.h | 2 +- arch/powerpc/include/asm/ptrace.h | 2 +- arch/powerpc/include/asm/reg.h | 27 +- arch/powerpc/include/asm/reg_booke.h | 113 +-- arch/powerpc/include/asm/time.h | 7 +- arch/powerpc/include/asm/udbg.h | 1 - arch/powerpc/kernel/Makefile | 1 - arch/powerpc/kernel/asm-offsets.c | 2 +- arch/powerpc/kernel/cpu_specs.h | 4 - arch/powerpc/kernel/cpu_specs_40x.h | 280 ------- arch/powerpc/kernel/entry_32.S | 48 +- arch/powerpc/kernel/epapr_hcalls.S | 2 +- arch/powerpc/kernel/head_32.h | 12 +- arch/powerpc/kernel/head_40x.S | 721 ------------------ arch/powerpc/kernel/head_booke.h | 3 +- arch/powerpc/kernel/irq.c | 2 +- arch/powerpc/kernel/kgdb.c | 4 +- arch/powerpc/kernel/misc_32.S | 40 - arch/powerpc/kernel/process.c | 4 +- arch/powerpc/kernel/setup.h | 2 +- arch/powerpc/kernel/setup_32.c | 2 +- arch/powerpc/kernel/time.c | 2 +- arch/powerpc/kernel/traps.c | 2 +- arch/powerpc/kernel/udbg.c | 3 - arch/powerpc/kernel/udbg_16550.c | 23 - arch/powerpc/mm/fault.c | 4 +- arch/powerpc/mm/mmu_context.c | 2 +- arch/powerpc/mm/mmu_decl.h | 8 +- arch/powerpc/mm/nohash/40x.c | 161 ---- arch/powerpc/mm/nohash/Makefile | 1 - arch/powerpc/mm/nohash/kup.c | 2 - arch/powerpc/mm/nohash/mmu_context.c | 5 +- arch/powerpc/mm/nohash/tlb_low.S | 27 +- arch/powerpc/mm/ptdump/Makefile | 2 +- arch/powerpc/platforms/40x/Kconfig | 78 -- arch/powerpc/platforms/40x/Makefile | 2 - arch/powerpc/platforms/40x/ppc40x_simple.c | 74 -- arch/powerpc/platforms/44x/Makefile | 6 +- arch/powerpc/platforms/{4xx => 44x}/cpm.c | 0 arch/powerpc/platforms/{4xx => 44x}/gpio.c | 0 .../powerpc/platforms/{4xx => 44x}/hsta_msi.c | 0 arch/powerpc/platforms/44x/machine_check.c | 15 + arch/powerpc/platforms/{4xx => 44x}/pci.c | 100 --- arch/powerpc/platforms/{4xx => 44x}/pci.h | 0 arch/powerpc/platforms/{4xx => 44x}/soc.c | 0 arch/powerpc/platforms/{4xx => 44x}/uic.c | 0 arch/powerpc/platforms/4xx/Makefile | 7 - arch/powerpc/platforms/4xx/machine_check.c | 23 - arch/powerpc/platforms/Kconfig | 1 - arch/powerpc/platforms/Kconfig.cputype | 30 +- arch/powerpc/platforms/Makefile | 2 - arch/powerpc/sysdev/Kconfig | 4 +- scripts/head-object-list.txt | 1 - 89 files changed, 77 insertions(+), 4445 deletions(-) delete mode 100644 arch/powerpc/boot/cuboot-acadia.c delete mode 100644 arch/powerpc/boot/cuboot-hotfoot.c delete mode 100644 arch/powerpc/boot/cuboot-kilauea.c delete mode 100644 arch/powerpc/boot/dts/acadia.dts delete mode 100644 arch/powerpc/boot/dts/hotfoot.dts delete mode 100644 arch/powerpc/boot/dts/kilauea.dts delete mode 100644 arch/powerpc/boot/dts/obs600.dts delete mode 100644 arch/powerpc/boot/ppcboot-hotfoot.h delete mode 100644 arch/powerpc/configs/40x.config delete mode 100644 arch/powerpc/configs/40x/acadia_defconfig delete mode 100644 arch/powerpc/configs/40x/kilauea_defconfig delete mode 100644 arch/powerpc/configs/40x/klondike_defconfig delete mode 100644 arch/powerpc/configs/40x/makalu_defconfig delete mode 100644 arch/powerpc/configs/40x/obs600_defconfig delete mode 100644 arch/powerpc/configs/40x/walnut_defconfig delete mode 100644 arch/powerpc/configs/ppc40x_defconfig delete mode 100644 arch/powerpc/include/asm/nohash/32/mmu-40x.h delete mode 100644 arch/powerpc/include/asm/nohash/32/pte-40x.h delete mode 100644 arch/powerpc/kernel/cpu_specs_40x.h delete mode 100644 arch/powerpc/kernel/head_40x.S delete mode 100644 arch/powerpc/mm/nohash/40x.c delete mode 100644 arch/powerpc/platforms/40x/Kconfig delete mode 100644 arch/powerpc/platforms/40x/Makefile delete mode 100644 arch/powerpc/platforms/40x/ppc40x_simple.c rename arch/powerpc/platforms/{4xx => 44x}/cpm.c (100%) rename arch/powerpc/platforms/{4xx => 44x}/gpio.c (100%) rename arch/powerpc/platforms/{4xx => 44x}/hsta_msi.c (100%) rename arch/powerpc/platforms/{4xx => 44x}/pci.c (95%) rename arch/powerpc/platforms/{4xx => 44x}/pci.h (100%) rename arch/powerpc/platforms/{4xx => 44x}/soc.c (100%) rename arch/powerpc/platforms/{4xx => 44x}/uic.c (100%) delete mode 100644 arch/powerpc/platforms/4xx/Makefile delete mode 100644 arch/powerpc/platforms/4xx/machine_check.c -- 2.45.0
My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y acadia.dtb hotfoot.dtb kilauea.dtb obs600.dtb' for 20240506125152.78174-1-mpe@ellerman.id.au: make[2]: *** No rule to make target 'arch/powerpc/boot/dts/obs600.dtb'. make[2]: *** No rule to make target 'arch/powerpc/boot/dts/hotfoot.dtb'. make[2]: *** No rule to make target 'arch/powerpc/boot/dts/kilauea.dtb'. make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: hotfoot.dtb] Error 2 make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: kilauea.dtb] Error 2 make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: obs600.dtb] Error 2 make[2]: *** No rule to make target 'arch/powerpc/boot/dts/acadia.dtb'. make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: acadia.dtb] Error 2 make: *** [Makefile:240: __sub-make] Error 2 make: Target 'acadia.dtb' not remade because of errors. make: Target 'hotfoot.dtb' not remade because of errors. make: Target 'kilauea.dtb' not remade because of errors. make: Target 'obs600.dtb' not remade because of errors.