[PATCH 00/12] ARM: ARMv5 multiplatform conversions

Arnd Bergmann arnd at kernel.org
Tue Apr 5 02:17:38 PDT 2022


From: Arnd Bergmann <arnd at 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

-- 
2.29.2
Cc: Russell King <linux at armlinux.org.uk>
Cc: Hartley Sweeten <hsweeten at visionengravers.com>
Cc: Alexander Sverdlin <alexander.sverdlin at gmail.com>
Cc: Hubert Feurstein <hubert.feurstein at contec.at>
Cc: Lukasz Majewski <lukma at denx.de>
Cc: Krzysztof Kozlowski <krzk at kernel.org>
Cc: Alim Akhtar <alim.akhtar at samsung.com>
Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Imre Kaloz <kaloz at openwrt.org>
Cc: Krzysztof Halasa <khalasa at piap.pl>
Cc: Andrew Lunn <andrew at lunn.ch>
Cc: Gregory Clement <gregory.clement at bootlin.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
Cc: Simtec Linux Team <linux at simtec.co.uk>
Cc: Liviu Dudau <liviu.dudau at arm.com>
Cc: Sudeep Holla <sudeep.holla at arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Cc: Ard Biesheuvel <ardb at kernel.org>
Cc: Stephen Boyd <sboyd at kernel.org>
Cc: Geert Uytterhoeven <geert+renesas at glider.be>
Cc: linux-kernel at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-samsung-soc at vger.kernel.org
Cc: patches at opensource.cirrus.com



More information about the linux-arm-kernel mailing list