Message ID | 20220405091750.3076973-1-arnd@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | ARM: ARMv5 multiplatform conversions | expand |
On 05/04/2022 11:17, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > I revisited some patches from a few years back, to see what > is needed forsome of the remaining platforms to become part of > CONFIG_ARCH_MULTIPLATFORM. > > A few things happened since I last looked at this, which helps to make > this easier: > > - The ixp4xx platform saw a large scale cleanup > > - The ep93xx platform lost support for MaverickCrunch FPUs and > gained support for the common clock subsystem > > - The OMAP1 platform has a proposed patch for the common > clock subsystem. > > - The generic IRQ entry code is now used everywhere, including > on IOP32x. > > - The s3c24xx platform is scheduled for removal next year Discussion [1] actually did not end with conclusion, but through all the time there were no other votes for the platform to stay. I will resend my above [1] patch to mention the coming removal. [1] https://lore.kernel.org/linux-samsung-soc/CAK8P3a2Pg8CkXgN8YNhp2U5Kgwf08kQGpLeTsyWKgNpGChC4uQ@mail.gmail.com/ Best regards, Krzysztof
On Thu, Apr 7, 2022 at 9:07 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 05/04/2022 11:17, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > I revisited some patches from a few years back, to see what > > is needed forsome of the remaining platforms to become part of > > CONFIG_ARCH_MULTIPLATFORM. > > > > A few things happened since I last looked at this, which helps to make > > this easier: > > > > - The ixp4xx platform saw a large scale cleanup > > > > - The ep93xx platform lost support for MaverickCrunch FPUs and > > gained support for the common clock subsystem > > > > - The OMAP1 platform has a proposed patch for the common > > clock subsystem. > > > > - The generic IRQ entry code is now used everywhere, including > > on IOP32x. > > > > - The s3c24xx platform is scheduled for removal next year > > Discussion [1] actually did not end with conclusion, but through all the > time there were no other votes for the platform to stay. Ok, thanks for the clarification, I misremembered the outcome of the discussion. I've updated the reference in the mach/io.h to no longer refer to that, but I still think it's safe to break readw/writew on BAST ISA devices. If we finish the multiplatform conversion for all ARMv5, I care less about dropping s3c24xx entirely as an intermediate step, but I definitely still like to see any board files and SoCs dropped that have no users and are just a maintenance burden. > I will resend my above [1] patch to mention the coming removal. Ok, thanks! Arnd
Hello Arnd, On Tue, 2022-04-05 at 11:17 +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > I revisited some patches from a few years back, to see what > is needed forsome of the remaining platforms to become part of > CONFIG_ARCH_MULTIPLATFORM. > > A few things happened since I last looked at this, which helps to make > this easier: > > - The ixp4xx platform saw a large scale cleanup > > - The ep93xx platform lost support for MaverickCrunch FPUs and > gained support for the common clock subsystem would you like to consider a couple of fixups from the common clock rework of ep93xx? https://lore.kernel.org/linux-arm-kernel/20220120133739.4170298-2-alexander.sverdlin@gmail.com/ https://lore.kernel.org/lkml/20220130152502.236531-1-alexander.sverdlin@gmail.com/t/ Thanks!
On Thu, Apr 7, 2022 at 11:23 AM Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote: > > Hello Arnd, > > On Tue, 2022-04-05 at 11:17 +0200, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > I revisited some patches from a few years back, to see what > > is needed forsome of the remaining platforms to become part of > > CONFIG_ARCH_MULTIPLATFORM. > > > > A few things happened since I last looked at this, which helps to make > > this easier: > > > > - The ixp4xx platform saw a large scale cleanup > > > > - The ep93xx platform lost support for MaverickCrunch FPUs and > > gained support for the common clock subsystem > > would you like to consider a couple of fixups from the common clock > rework of ep93xx? > > https://lore.kernel.org/linux-arm-kernel/20220120133739.4170298-2-alexander.sverdlin@gmail.com/ > https://lore.kernel.org/lkml/20220130152502.236531-1-alexander.sverdlin@gmail.com/t/ Sure, both look like obvious bugfixes. Shall I apply them to the fixes branch for 5.18, or as part of the multiplatform series? Either way, if you have any obvious bugfixes for code you maintain, and you'd like to get merged through the soc tree, please send them to soc@kernel.org, which puts them into the patchwork tracker. Arnd
Thanks Arnd! On Thu, 2022-04-07 at 12:08 +0200, Arnd Bergmann wrote: > Sure, both look like obvious bugfixes. Shall I apply them to the > fixes branch for 5.18, or as part of the multiplatform series? I'm fine with either option if they land not in the recycled bin ;) > Either way, if you have any obvious bugfixes for code you maintain, > and you'd like > to get merged through the soc tree, please send them to soc@kernel.org, which > puts them into the patchwork tracker. Sounds great, thanks, I'll note this!
On Tue, Apr 5, 2022 at 11:18 AM Arnd Bergmann <arnd@kernel.org> wrote: These two: > Arnd Bergmann (12): > ARM: rework endianess selection > ARM: ixp4xx: enable multiplatform support Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Linus Walleij <linus.walleij@linaro.org> I booted on the Gateway GW-2348 which has some ethernet, PCI and compact flash, LED and a button, so I could test a whole lot of stuff. However when switching over to multiplatform I needed to severely overhaul the ixp4xx_defconfig for it to bring the same drivers in as before, I will send my patch for that which I think need to go in in tandem with this rework for a smooth transition. Yours, Linus Walleij
On Thu, Apr 7, 2022 at 10:42 PM Linus Walleij <linus.walleij@linaro.org> wrote: > > On Tue, Apr 5, 2022 at 11:18 AM Arnd Bergmann <arnd@kernel.org> wrote: > > These two: > > > Arnd Bergmann (12): > > ARM: rework endianess selection > > ARM: ixp4xx: enable multiplatform support > > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > Tested-by: Linus Walleij <linus.walleij@linaro.org> > > I booted on the Gateway GW-2348 which has some ethernet, > PCI and compact flash, LED and a button, so I could test a > whole lot of stuff. Perfect, thanks! > However when switching over to multiplatform I needed to severely > overhaul the ixp4xx_defconfig for it to bring the same drivers in as > before, I will send my patch for that which I think need to go in in > tandem with this rework for a smooth transition. Ah right, I was planning to go through the patches again to make sure I get them all. I did the change for some platforms but at least missed this one. I folded in this change and will make sure I do the same for the others as well: --- a/arch/arm/configs/ixp4xx_defconfig +++ b/arch/arm/configs/ixp4xx_defconfig @@ -6,6 +6,7 @@ CONFIG_EXPERT=y CONFIG_MODULES=y CONFIG_MODVERSIONS=y # CONFIG_BLK_DEV_BSG is not set +# CONFIG_ARCH_MULTI_V7 is not set CONFIG_ARCH_IXP4XX=y CONFIG_MACH_NSLU2=y CONFIG_MACH_AVILA=y
From: Arnd Bergmann <arnd@arndb.de> I revisited some patches from a few years back, to see what is needed forsome of the remaining platforms to become part of CONFIG_ARCH_MULTIPLATFORM. A few things happened since I last looked at this, which helps to make this easier: - The ixp4xx platform saw a large scale cleanup - The ep93xx platform lost support for MaverickCrunch FPUs and gained support for the common clock subsystem - The OMAP1 platform has a proposed patch for the common clock subsystem. - The generic IRQ entry code is now used everywhere, including on IOP32x. - The s3c24xx platform is scheduled for removal next year It appears that we can now convert almost all the remaining platforms (ep93xx, dove, s3c24xx, iop32x and ixp4xx), leaving only: - OMAP1 has a separate series, since the conversion is non- trivial, and depends on the clk conversion from Janusz Krzysztofik. I'll post that separately. - PXA needs an even longer series, which I've also sent in the past, but I'll keep that for later. - The three StrongARM based platforms remain quite different from the rest, and I expect that to stay this way, until they are eventually removed from the tree. For simplicity I'd want to merge the series directly through the soc tree, provided there are no regressions or other concerns with the patches. Arnd Arnd Bergmann (12): ARM: versatile: move integrator/realview/vexpress to versatile ARM: ep93xx: renumber interrupts ARM: ep93xx: enable SPARSE_IRQ ARM: ep93xx: make mach/ep93xx-regs.h local ARM: ep93xx: multiplatform support ARM: dove: multiplatform support ARM: s3c24xx: remove support for ISA drivers on BAST PC/104 ARM: s3c24xx: convert to sparse-irq ARM: s3c: enable s3c24xx multiplatform support ARM: iop32x: enable multiplatform support ARM: rework endianess selection ARM: ixp4xx: enable multiplatform support MAINTAINERS | 3 - arch/arm/Kconfig | 87 +---- arch/arm/Makefile | 7 +- .../compressed/misc-ep93xx.h} | 70 ++-- arch/arm/boot/compressed/misc.c | 4 + arch/arm/configs/dove_defconfig | 2 + arch/arm/configs/ep93xx_defconfig | 2 + arch/arm/mach-asm9260/Kconfig | 1 + arch/arm/mach-aspeed/Kconfig | 2 +- arch/arm/mach-at91/Kconfig | 3 +- arch/arm/mach-clps711x/Kconfig | 1 + arch/arm/mach-davinci/Kconfig | 1 + arch/arm/mach-dove/Kconfig | 16 +- arch/arm/mach-dove/Makefile | 2 + arch/arm/mach-dove/include/mach/uncompress.h | 34 -- arch/arm/mach-ep93xx/Kconfig | 13 + arch/arm/mach-ep93xx/adssphere.c | 1 + arch/arm/mach-ep93xx/core.c | 5 +- arch/arm/mach-ep93xx/edb93xx.c | 8 + .../{include/mach => }/ep93xx-regs.h | 4 - arch/arm/mach-ep93xx/gesbc9312.c | 1 + arch/arm/mach-ep93xx/gpio-ep93xx.h | 2 +- arch/arm/mach-ep93xx/include/mach/irqs.h | 79 ----- arch/arm/mach-ep93xx/irqs.h | 76 +++++ arch/arm/mach-ep93xx/micro9.c | 4 + arch/arm/mach-ep93xx/simone.c | 1 + arch/arm/mach-ep93xx/snappercl15.c | 1 + arch/arm/mach-ep93xx/soc.h | 3 +- arch/arm/mach-ep93xx/ts72xx.c | 3 +- arch/arm/mach-ep93xx/vision_ep9307.c | 1 + arch/arm/mach-exynos/Kconfig | 1 - arch/arm/mach-gemini/Kconfig | 1 + arch/arm/mach-highbank/Kconfig | 1 - arch/arm/mach-hisi/Kconfig | 2 +- arch/arm/mach-imx/Kconfig | 4 +- arch/arm/mach-integrator/Kconfig | 125 ------- arch/arm/mach-integrator/Makefile | 10 - arch/arm/mach-iop32x/Kconfig | 18 +- arch/arm/mach-iop32x/em7210.c | 1 + arch/arm/mach-iop32x/glantank.c | 1 + arch/arm/mach-iop32x/include/mach/irqs.h | 14 - .../arm/mach-iop32x/include/mach/uncompress.h | 25 -- arch/arm/mach-iop32x/iq31244.c | 1 + arch/arm/mach-iop32x/iq80321.c | 1 + arch/arm/mach-iop32x/irqs.h | 2 + arch/arm/mach-iop32x/n2100.c | 1 + arch/arm/mach-ixp4xx/Kconfig | 22 +- arch/arm/mach-ixp4xx/Makefile.boot | 4 - .../arm/mach-ixp4xx/include/mach/uncompress.h | 54 --- arch/arm/mach-keystone/Kconfig | 1 - arch/arm/mach-lpc32xx/Kconfig | 1 + arch/arm/mach-mmp/Kconfig | 2 +- arch/arm/mach-moxart/Kconfig | 1 + arch/arm/mach-mv78xx0/Kconfig | 1 + arch/arm/mach-mvebu/Kconfig | 3 +- arch/arm/mach-mxs/Kconfig | 1 + arch/arm/mach-nomadik/Kconfig | 1 + arch/arm/mach-npcm/Kconfig | 2 +- arch/arm/mach-nspire/Kconfig | 1 + arch/arm/mach-orion5x/Kconfig | 1 + arch/arm/mach-oxnas/Kconfig | 2 +- arch/arm/mach-qcom/Kconfig | 1 - arch/arm/mach-realview/Kconfig | 103 ------ arch/arm/mach-realview/Makefile | 8 - arch/arm/mach-s3c/Kconfig.s3c24xx | 25 +- arch/arm/mach-s3c/bast-ide.c | 2 +- arch/arm/mach-s3c/bast-irq.c | 2 +- arch/arm/mach-s3c/cpu.c | 2 +- arch/arm/mach-s3c/dev-audio-s3c64xx.c | 2 +- arch/arm/mach-s3c/dev-uart-s3c64xx.c | 2 +- arch/arm/mach-s3c/devs.c | 2 +- arch/arm/mach-s3c/gpio-samsung.c | 2 +- arch/arm/mach-s3c/include/mach/io-s3c24xx.h | 50 --- arch/arm/mach-s3c/include/mach/io.h | 8 - arch/arm/mach-s3c/irq-pm-s3c24xx.c | 2 +- arch/arm/mach-s3c/irq-s3c24xx.c | 2 +- .../{include/mach => }/irqs-s3c24xx.h | 18 +- .../{include/mach => }/irqs-s3c64xx.h | 0 arch/arm/mach-s3c/{include/mach => }/irqs.h | 0 arch/arm/mach-s3c/mach-amlm5900.c | 2 + arch/arm/mach-s3c/mach-anubis.c | 6 +- arch/arm/mach-s3c/mach-anw6410.c | 2 +- arch/arm/mach-s3c/mach-at2440evb.c | 1 + arch/arm/mach-s3c/mach-bast.c | 6 +- arch/arm/mach-s3c/mach-crag6410-module.c | 2 +- arch/arm/mach-s3c/mach-crag6410.c | 2 +- arch/arm/mach-s3c/mach-gta02.c | 1 + arch/arm/mach-s3c/mach-h1940.c | 1 + arch/arm/mach-s3c/mach-hmt.c | 2 +- arch/arm/mach-s3c/mach-jive.c | 2 +- arch/arm/mach-s3c/mach-mini2440.c | 3 +- arch/arm/mach-s3c/mach-mini6410.c | 2 +- arch/arm/mach-s3c/mach-n30.c | 2 + arch/arm/mach-s3c/mach-ncp.c | 2 +- arch/arm/mach-s3c/mach-nexcoder.c | 1 + arch/arm/mach-s3c/mach-osiris.c | 6 +- arch/arm/mach-s3c/mach-otom.c | 1 + arch/arm/mach-s3c/mach-qt2410.c | 1 + arch/arm/mach-s3c/mach-real6410.c | 2 +- arch/arm/mach-s3c/mach-rx1950.c | 1 + arch/arm/mach-s3c/mach-rx3715.c | 7 +- arch/arm/mach-s3c/mach-smartq5.c | 2 +- arch/arm/mach-s3c/mach-smartq7.c | 2 +- arch/arm/mach-s3c/mach-smdk2410.c | 1 + arch/arm/mach-s3c/mach-smdk2413.c | 3 + arch/arm/mach-s3c/mach-smdk2416.c | 11 +- arch/arm/mach-s3c/mach-smdk2440.c | 11 +- arch/arm/mach-s3c/mach-smdk2443.c | 12 +- arch/arm/mach-s3c/mach-smdk6400.c | 2 +- arch/arm/mach-s3c/mach-smdk6410.c | 2 +- arch/arm/mach-s3c/mach-tct_hammer.c | 1 + arch/arm/mach-s3c/mach-vr1000.c | 6 +- arch/arm/mach-s3c/mach-vstms.c | 1 + .../mach-s3c/{include/mach => }/map-base.h | 6 + arch/arm/mach-s3c/map-s3c24xx.h | 2 +- arch/arm/mach-s3c/map-s3c64xx.h | 2 +- arch/arm/mach-s3c/pl080.c | 2 +- arch/arm/mach-s3c/pm-core-s3c24xx.h | 2 +- arch/arm/mach-s3c/pm-s3c2412.c | 2 +- arch/arm/mach-s3c/pm-s3c64xx.c | 2 +- arch/arm/mach-s3c/pm.c | 2 +- arch/arm/mach-s3c/s3c2443.c | 2 +- arch/arm/mach-s3c/s3c24xx.h | 2 +- arch/arm/mach-s3c/s3c64xx.c | 2 +- arch/arm/mach-s3c/simtec-usb.c | 2 +- arch/arm/mach-socfpga/Kconfig | 1 - arch/arm/mach-spear/Kconfig | 2 +- arch/arm/mach-sunxi/Kconfig | 3 +- arch/arm/mach-versatile/Kconfig | 309 ++++++++++++++++++ arch/arm/mach-versatile/Makefile | 32 +- .../Makefile.boot | 0 .../{mach-vexpress => mach-versatile}/dcscb.c | 4 +- .../dcscb_setup.S | 2 - .../headsmp.S | 2 - .../hotplug.c | 2 +- .../cm.h => mach-versatile/integrator-cm.h} | 0 .../integrator-hardware.h} | 0 .../core.c => mach-versatile/integrator.c} | 8 +- .../common.h => mach-versatile/integrator.h} | 0 .../integrator_ap.c | 8 +- .../integrator_cp.c | 8 +- .../platsmp-realview.c} | 2 +- .../platsmp-vexpress.c} | 7 +- .../platsmp.c | 4 +- .../include/plat => mach-versatile}/platsmp.h | 2 - .../realview.c} | 0 .../{mach-vexpress => mach-versatile}/spc.c | 0 .../{mach-vexpress => mach-versatile}/spc.h | 0 .../tc2_pm.c | 2 - .../v2m-mps2.c | 0 .../{mach-vexpress => mach-versatile}/v2m.c | 2 +- .../{versatile_dt.c => versatile.c} | 0 .../core.h => mach-versatile/vexpress.h} | 0 arch/arm/mach-vexpress/Kconfig | 81 ----- arch/arm/mach-vexpress/Makefile | 19 -- arch/arm/mach-vt8500/Kconfig | 1 + arch/arm/mach-zynq/Kconfig | 1 - arch/arm/mm/Kconfig | 28 +- arch/arm/plat-versatile/Makefile | 5 - 159 files changed, 708 insertions(+), 937 deletions(-) rename arch/arm/{mach-ep93xx/include/mach/uncompress.h => boot/compressed/misc-ep93xx.h} (51%) delete mode 100644 arch/arm/mach-dove/include/mach/uncompress.h rename arch/arm/mach-ep93xx/{include/mach => }/ep93xx-regs.h (94%) delete mode 100644 arch/arm/mach-ep93xx/include/mach/irqs.h create mode 100644 arch/arm/mach-ep93xx/irqs.h delete mode 100644 arch/arm/mach-integrator/Kconfig delete mode 100644 arch/arm/mach-integrator/Makefile delete mode 100644 arch/arm/mach-iop32x/include/mach/irqs.h delete mode 100644 arch/arm/mach-iop32x/include/mach/uncompress.h delete mode 100644 arch/arm/mach-ixp4xx/Makefile.boot delete mode 100644 arch/arm/mach-ixp4xx/include/mach/uncompress.h delete mode 100644 arch/arm/mach-realview/Kconfig delete mode 100644 arch/arm/mach-realview/Makefile delete mode 100644 arch/arm/mach-s3c/include/mach/io-s3c24xx.h delete mode 100644 arch/arm/mach-s3c/include/mach/io.h rename arch/arm/mach-s3c/{include/mach => }/irqs-s3c24xx.h (95%) rename arch/arm/mach-s3c/{include/mach => }/irqs-s3c64xx.h (100%) rename arch/arm/mach-s3c/{include/mach => }/irqs.h (100%) rename arch/arm/mach-s3c/{include/mach => }/map-base.h (87%) rename arch/arm/{mach-vexpress => mach-versatile}/Makefile.boot (100%) rename arch/arm/{mach-vexpress => mach-versatile}/dcscb.c (97%) rename arch/arm/{mach-vexpress => mach-versatile}/dcscb_setup.S (95%) rename arch/arm/{plat-versatile => mach-versatile}/headsmp.S (94%) rename arch/arm/{plat-versatile => mach-versatile}/hotplug.c (98%) rename arch/arm/{mach-integrator/cm.h => mach-versatile/integrator-cm.h} (100%) rename arch/arm/{mach-integrator/hardware.h => mach-versatile/integrator-hardware.h} (100%) rename arch/arm/{mach-integrator/core.c => mach-versatile/integrator.c} (95%) rename arch/arm/{mach-integrator/common.h => mach-versatile/integrator.h} (100%) rename arch/arm/{mach-integrator => mach-versatile}/integrator_ap.c (97%) rename arch/arm/{mach-integrator => mach-versatile}/integrator_cp.c (96%) rename arch/arm/{mach-realview/platsmp-dt.c => mach-versatile/platsmp-realview.c} (98%) rename arch/arm/{mach-vexpress/platsmp.c => mach-versatile/platsmp-vexpress.c} (96%) rename arch/arm/{plat-versatile => mach-versatile}/platsmp.c (97%) rename arch/arm/{plat-versatile/include/plat => mach-versatile}/platsmp.h (87%) rename arch/arm/{mach-realview/realview-dt.c => mach-versatile/realview.c} (100%) rename arch/arm/{mach-vexpress => mach-versatile}/spc.c (100%) rename arch/arm/{mach-vexpress => mach-versatile}/spc.h (100%) rename arch/arm/{mach-vexpress => mach-versatile}/tc2_pm.c (99%) rename arch/arm/{mach-vexpress => mach-versatile}/v2m-mps2.c (100%) rename arch/arm/{mach-vexpress => mach-versatile}/v2m.c (97%) rename arch/arm/mach-versatile/{versatile_dt.c => versatile.c} (100%) rename arch/arm/{mach-vexpress/core.h => mach-versatile/vexpress.h} (100%) delete mode 100644 arch/arm/mach-vexpress/Kconfig delete mode 100644 arch/arm/mach-vexpress/Makefile delete mode 100644 arch/arm/plat-versatile/Makefile