[PATCH v2 06/19] ARM: mark CPU_ENDIAN_BE8 as deprecated

Arnd Bergmann arnd at arndb.de
Sat Jul 4 03:33:11 PDT 2026


On Fri, Jul 3, 2026, at 22:29, Linus Walleij wrote:
> Hi Arnd,
>
> thanks for your patch!
>
> On Wed, Jul 1, 2026 at 11:25 PM Arnd Bergmann <arnd at kernel.org> wrote:
>
>>  config CPU_BIG_ENDIAN
>> -       bool "Build big-endian kernel"
>> +       bool "Build big-endian kernel (DEPRECATED)"
>
> I'm not so sure about this patch because it will look like IXP4XX is
> using a deprecated feature. The IXP4xx actually has many OpenWrt
> users.

How about the version below? If you like that better, I'll give
it a thorough build test and use that for v3.

     Arnd

diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
index cb46802f5ce5..cdcb42517eff 100644
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
@@ -2,7 +2,6 @@
 menuconfig ARCH_IXP4XX
 	bool "IXP4xx-based platforms"
 	depends on ARCH_MULTI_V5
-	depends on CPU_BIG_ENDIAN
 	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
 	select CPU_XSCALE
 	select GPIO_IXP4XX
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index ac09b546b14e..a1716db26623 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -796,38 +796,32 @@ choice
 
 config CPU_LITTLE_ENDIAN
 	bool "Built little-endian kernel"
+	depends on !ARCH_IXP4XX
 	help
 	  Say Y if you plan on running a kernel in little-endian mode.
 	  This is the default and is used in practically all modern user
 	  space builds.
 
-config CPU_BIG_ENDIAN
-	bool "Build big-endian kernel (DEPRECATED)"
-	depends on ARCH_MULTI_V5 || BROKEN
-	depends on !LD_IS_LLD
-	help
-	  Say Y if you plan on running a kernel in big-endian mode.
-	  This works on many machines using ARMv6 or newer processors
-	  but requires big-endian user space.
-
-	  The only ARMv5 platform with big-endian support is
-	  Intel IXP4xx.
-
-endchoice
-
 config CPU_ENDIAN_BE8
-	bool
-	depends on CPU_BIG_ENDIAN
-	default CPU_V6 || CPU_V6K || CPU_V7 || CPU_V7M
+	bool "Build big-endian kernel (DEPRECATED)"
+	depends on BROKEN
+	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
+	select CPU_BIG_ENDIAN
 	help
 	  Support for the BE-8 (big-endian) mode on ARMv6 and ARMv7 processors.
 
+	  This is deprecated and will likely be removed in the future.
+
 config CPU_ENDIAN_BE32
-	bool
-	depends on CPU_BIG_ENDIAN
-	default !CPU_ENDIAN_BE8
+	bool "Build big-endian kernel"
+	depends on ARCH_IXP4XX
+	select CPU_BIG_ENDIAN
 	help
 	  Support for the BE-32 (big-endian) mode on pre-ARMv6 processors.
+endchoice
+
+config CPU_BIG_ENDIAN
+	bool
 
 config CPU_HIGH_VECTOR
 	depends on !MMU && CPU_CP15 && !CPU_ARM740T



More information about the linux-arm-kernel mailing list