[PATCH] arm: boot: ep93xx: don't rely on machine_is_*() for removed board files
Alexander Sverdlin
alexander.sverdlin at gmail.com
Sun May 10 10:40:54 PDT 2026
Hi Ethan,
On Sat, 2026-05-09 at 15:38 -0700, Ethan Nelson-Moore wrote:
> Code in misc-ep93xx.h relies on machine_is_*() macros for several
> boards that no longer have legacy board files. They were removed in
> commit e5ef574dda70 ("ARM: ep93xx: delete all boardfiles"). This
> prevents the removal of machine IDs no longer used by the kernel from
> mach-types. To resolve this issue, create local copies of these macros.
> (The checks themselves are still valid because the IDs are still passed
> in by the bootloader on these machines.) Also take the opportunity to
> remove three repeated checks for the same ID.
I most probably miss something, but what is the reason for removing
the machine IDs from the mach-types, especially if they are still used
by the kernel (though only in its decompressor code)?
> Signed-off-by: Ethan Nelson-Moore <enelsonmoore at gmail.com>
> ---
> arch/arm/boot/compressed/misc-ep93xx.h | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/compressed/misc-ep93xx.h b/arch/arm/boot/compressed/misc-ep93xx.h
> index 65b4121d1490..b0a1b42aab31 100644
> --- a/arch/arm/boot/compressed/misc-ep93xx.h
> +++ b/arch/arm/boot/compressed/misc-ep93xx.h
> @@ -3,7 +3,22 @@
> * Copyright (C) 2006 Lennert Buytenhek <buytenh at wantstofly.org>
> */
>
> -#include <asm/mach-types.h>
> +/*
> + * These machine IDs are no longer used by the kernel since EP93xx was converted
> + * to DT booting, but they are still passed in by bootloaders, so we use our own
> + * local definitions of the relevant macros.
> + */
> +#define machine_is_bk3() (__machine_arch_type == 1880)
> +#define machine_is_edb9301() (__machine_arch_type == 462)
> +#define machine_is_edb9302a() (__machine_arch_type == 1127)
> +#define machine_is_edb9302() (__machine_arch_type == 538)
> +#define machine_is_edb9307a() (__machine_arch_type == 1128)
> +#define machine_is_edb9307() (__machine_arch_type == 607)
> +#define machine_is_edb9312() (__machine_arch_type == 451)
> +#define machine_is_edb9315a() (__machine_arch_type == 772)
> +#define machine_is_edb9315() (__machine_arch_type == 463)
> +#define machine_is_ts72xx() (__machine_arch_type == 673)
> +#define machine_is_vision_ep9307() (__machine_arch_type == 1578)
>
> static inline unsigned int __raw_readl(unsigned int ptr)
> {
> @@ -60,14 +75,11 @@ static inline void ep93xx_decomp_setup(void)
> if (machine_is_edb9301() ||
> machine_is_edb9302() ||
> machine_is_edb9302a() ||
> - machine_is_edb9302a() ||
> machine_is_edb9307() ||
> machine_is_edb9307a() ||
> - machine_is_edb9307a() ||
> machine_is_edb9312() ||
> machine_is_edb9315() ||
> machine_is_edb9315a() ||
> - machine_is_edb9315a() ||
> machine_is_ts72xx() ||
> machine_is_bk3() ||
> machine_is_vision_ep9307())
--
Alexander Sverdlin.
More information about the linux-arm-kernel
mailing list