[GIT PULL] ARM: platform and feature deprecation for 7.3

From: Arnd Bergmann

Date: Fri Jul 10 2026 - 17:38:49 EST


The following changes since commit dc59e4fea9d83f03bad6bddf3fa2e52491777482:

Linux 7.2-rc1 (2026-06-28 12:01:31 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git tags/arm-feature-deprecation-for-7.3

for you to fetch changes up to 6cb7a10ef7488720f4379e27575d723a85790b30:

ARM: mark mv78xx0 support as deprecated (2026-07-10 23:22:10 +0200)

----------------------------------------------------------------
ARM: platform and feature deprecation for 7.3

This is attempt to bring the source code to the state that we discussed
back in 2024, regarding a timeline for deprecating and removing features,
in particular platforms and ABIs that are basically unused and are
also getting in the way of maintenance.

The earlier consensus was to remove these features in 2025 or 2026
after the corresponding LTS kernel release. I would suggest pushing
these to early 2027 now, see the patch description for details on
each one:

- all board files that are still not converted to DT
(except for OMAP1 and S3C)

- iWMMXt FPU support

- ARMv6/ARM1136r0 (not ARMv6K/ARM1136r1/ARM1176) along with the
OMAP24xx and i.MX31 SoCs using it

- Cortex-M3/M4/M7 based microcontroller support
(stm32, imxrt, lpc18xx, samv7)

- LSI Axxia platform

- OABI, OABI-compat and NWFPE are confined to StrongARM based
builds and scheduled for removal once StrongARM is gone.

- DEPRECATED_PARAM_STRUCT, which was originally scheduled for
removal in 2006 (!)

The ARCH_S3C64XX platform was scheduled for removal in 2024, but is
still actively used and will get removed once Mark Brown stops using
it. The OMAP1 platform has some remaining boardfiles and is expected to
get converted to DT.

Big-endian ARMv7 CPU support is not scheduled for removal but marked
as broken the same way as ARM64 has, to reduce the need for testing
unused configurations. This may be removed in the future if arm64 does
it as well. Note that big-endian ARMv5 support is can still be
enabled since the patches to revive little-endianm mode are still
fresh.

Regarding actually removing the code, I would suggest linux-7.4 (January
2027), removing both the board files and any drivers that have either
become newly unused or were missed in a previous machine removal series,
followed by removing support for then unused CPUs a release later.

Links to previous discussion:

https://lore.kernel.org/linux-arm-kernel/20210109174357.GB1551@xxxxxxxxxxxxxxxxxxxxx/
https://lore.kernel.org/linux-arm-kernel/2831c5a6-cfbf-4fe0-b51c-0396e5b0aeb7@xxxxxxxxxxxxxxxx/
https://lore.kernel.org/all/20241204102904.1863796-1-arnd@xxxxxxxxxx/
https://lore.kernel.org/all/20260701212353.2196041-1-arnd@xxxxxxxxxx/

----------------------------------------------------------------
Arnd Bergmann (19):
ARM: use CONFIG_AEABI by default everywhere
ARM: limit OABI support to StrongARM CPUs
ARM: rework ARM11 CPU selection logic
ARM: deprecate support for ARM1136r0
ARM: turn CONFIG_ATAGS off by default
ARM: mark CPU_ENDIAN_BE8 as deprecated
ARM: update DEPRECATED_PARAM_STRUCT removal timeline
ARM: s3c64xx: extend deprecation schedule
ARM: update FPE_NWFPE help text
ARM: mark IWMMXT as deprecated
ARM: mark ARCH_DOVE as deprecated
ARM: PXA: mark remaining board files as deprecated
ARM: orion5x: mark all board files as deprecated
ARM: mark mach-sa1100 as deprecated
ARM: mark RiscPC as deprecated
ARM: mark footbridge as deprecated
ARM: mark Cortex-M3/M4/M7 based boards as deprecated
ARM: mark axxia platform as deprecated
ARM: mark mv78xx0 support as deprecated

arch/arm/Kconfig | 80 +++++++++++++++++++--------------
arch/arm/Kconfig.platforms | 2 +-
arch/arm/configs/am200epdkit_defconfig | 3 +-
arch/arm/configs/aspeed_g4_defconfig | 2 -
arch/arm/configs/aspeed_g5_defconfig | 1 -
arch/arm/configs/assabet_defconfig | 3 ++
arch/arm/configs/at91_dt_defconfig | 2 -
arch/arm/configs/axm55xx_defconfig | 2 -
arch/arm/configs/bcm2835_defconfig | 1 -
arch/arm/configs/clps711x_defconfig | 1 -
arch/arm/configs/collie_defconfig | 2 +-
arch/arm/configs/davinci_all_defconfig | 1 -
arch/arm/configs/dove_defconfig | 2 +-
arch/arm/configs/ep93xx_defconfig | 1 -
arch/arm/configs/footbridge_defconfig | 2 +
arch/arm/configs/gemini_defconfig | 1 -
arch/arm/configs/h3600_defconfig | 3 +-
arch/arm/configs/hisi_defconfig | 1 -
arch/arm/configs/imx_v4_v5_defconfig | 1 -
arch/arm/configs/integrator_defconfig | 2 -
arch/arm/configs/ixp4xx_defconfig | 1 -
arch/arm/configs/jornada720_defconfig | 3 +-
arch/arm/configs/keystone_defconfig | 1 -
arch/arm/configs/lpc32xx_defconfig | 1 -
arch/arm/configs/mmp2_defconfig | 1 -
arch/arm/configs/moxart_defconfig | 2 -
arch/arm/configs/mps2_defconfig | 1 -
arch/arm/configs/multi_v4t_defconfig | 2 -
arch/arm/configs/multi_v5_defconfig | 10 -----
arch/arm/configs/mv78xx0_defconfig | 3 +-
arch/arm/configs/mvebu_v5_defconfig | 10 -----
arch/arm/configs/mxs_defconfig | 1 -
arch/arm/configs/neponset_defconfig | 3 ++
arch/arm/configs/netwinder_defconfig | 3 ++
arch/arm/configs/nhk8815_defconfig | 1 -
arch/arm/configs/omap1_defconfig | 3 +-
arch/arm/configs/orion5x_defconfig | 11 -----
arch/arm/configs/pxa168_defconfig | 2 -
arch/arm/configs/pxa3xx_defconfig | 2 -
arch/arm/configs/pxa910_defconfig | 2 -
arch/arm/configs/pxa_defconfig | 5 ---
arch/arm/configs/rpc_defconfig | 3 ++
arch/arm/configs/s3c6400_defconfig | 2 +
arch/arm/configs/sama5_defconfig | 1 -
arch/arm/configs/sama7_defconfig | 1 -
arch/arm/configs/spear13xx_defconfig | 1 -
arch/arm/configs/spitz_defconfig | 2 +-
arch/arm/configs/stm32_defconfig | 1 -
arch/arm/configs/versatile_defconfig | 2 -
arch/arm/configs/vt8500_v6_v7_defconfig | 1 -
arch/arm/configs/wpcm450_defconfig | 2 -
arch/arm/mach-at91/Kconfig | 4 +-
arch/arm/mach-axxia/Kconfig | 4 +-
arch/arm/mach-dove/Kconfig | 8 +++-
arch/arm/mach-footbridge/Kconfig | 7 ++-
arch/arm/mach-imx/Kconfig | 13 ++++--
arch/arm/mach-mv78xx0/Kconfig | 4 +-
arch/arm/mach-omap2/Kconfig | 18 ++++++--
arch/arm/mach-orion5x/Kconfig | 47 ++++++++++++++-----
arch/arm/mach-pxa/Kconfig | 10 ++++-
arch/arm/mach-rpc/Kconfig | 5 ++-
arch/arm/mach-s3c/Kconfig.s3c64xx | 15 +++++--
arch/arm/mach-sa1100/Kconfig | 5 ++-
arch/arm/mach-stm32/Kconfig | 14 +++---
arch/arm/mach-versatile/Kconfig | 15 ++++---
arch/arm/mm/Kconfig | 29 +++++++++++-
66 files changed, 225 insertions(+), 170 deletions(-)