On Sunday 05 March 2023 03:11:20 Martin Rowe wrote: > On Sat, 4 Mar 2023 at 10:51, Pali Rohár <p...@kernel.org> wrote: > > > This allows to merge BOOT_FROM_MMC and BOOT_FROM_MMC_ALT constants to one > > macro. And also allows to extend other BOOT_FROM_* macros for other > > variants. > > > > Signed-off-by: Pali Rohár <p...@kernel.org> > > --- > > arch/arm/mach-mvebu/cpu.c | 16 +++++++++------- > > arch/arm/mach-mvebu/include/mach/soc.h | 25 ++++++++++++------------- > > 2 files changed, 21 insertions(+), 20 deletions(-) > > > > diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c > > index daa84c03fcdc..cb3f3afad269 100644 > > --- a/arch/arm/mach-mvebu/cpu.c > > +++ b/arch/arm/mach-mvebu/cpu.c > > @@ -98,24 +98,26 @@ u32 get_boot_device(void) > > val = readl(CONFIG_SAR_REG); /* SAR - Sample At Reset */ > > boot_device = (val & BOOT_DEV_SEL_MASK) >> BOOT_DEV_SEL_OFFS; > > debug("SAR_REG=0x%08x boot_device=0x%x\n", val, boot_device); > > - switch (boot_device) { > > #ifdef BOOT_FROM_NAND > > - case BOOT_FROM_NAND: > > + if (BOOT_FROM_NAND(boot_device)) > > return BOOT_DEVICE_NAND; > > #endif > > #ifdef BOOT_FROM_MMC > > - case BOOT_FROM_MMC: > > - case BOOT_FROM_MMC_ALT: > > + if (BOOT_FROM_MMC(boot_device)) > > return BOOT_DEVICE_MMC1; > > #endif > > - case BOOT_FROM_UART: > > +#ifdef BOOT_FROM_UART > > + if (BOOT_FROM_UART(boot_device)) > > return BOOT_DEVICE_UART; > > +#endif > > #ifdef BOOT_FROM_SATA > > - case BOOT_FROM_SATA: > > + if (BOOT_FROM_SATA(boot_device)) > > return BOOT_DEVICE_SATA; > > #endif > > - case BOOT_FROM_SPI: > > +#ifdef BOOT_FROM_SPI > > + if (BOOT_FROM_SPI(boot_device)) > > return BOOT_DEVICE_SPI; > > +#endif > > default: > > return BOOT_DEVICE_BOOTROM; > > }; > > > > This doesn't compile for me: the switch has only partially been converted > so I get: > arch/arm/mach-mvebu/cpu.c: In function 'get_boot_device': > arch/arm/mach-mvebu/cpu.c:118:9: error: 'default' label not within a switch > statement > 118 | default: > | ^~~~~~~ > arch/arm/mach-mvebu/cpu.c: At top level: > arch/arm/mach-mvebu/cpu.c:121:1: error: expected identifier or '(' before > '}' token > 121 | } > | ^ > > Maybe remove the default and closing bracket lines and just return > BOOT_DEVICE_BOOTROM if nothing else worked? That worked for me.
Yea, broken merge on my side which results in the incorrect patch. Fixup for this patch is: diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c index cb3f3afad269..4bff94394d41 100644 --- a/arch/arm/mach-mvebu/cpu.c +++ b/arch/arm/mach-mvebu/cpu.c @@ -118,9 +118,7 @@ u32 get_boot_device(void) if (BOOT_FROM_SPI(boot_device)) return BOOT_DEVICE_SPI; #endif - default: - return BOOT_DEVICE_BOOTROM; - }; + return BOOT_DEVICE_BOOTROM; } #if defined(CONFIG_DISPLAY_CPUINFO) > diff --git a/arch/arm/mach-mvebu/include/mach/soc.h > > b/arch/arm/mach-mvebu/include/mach/soc.h > > index 5fdce8fe4e7e..aa42db36a1ee 100644 > > --- a/arch/arm/mach-mvebu/include/mach/soc.h > > +++ b/arch/arm/mach-mvebu/include/mach/soc.h > > @@ -143,8 +143,8 @@ > > #define BOOT_DEV_SEL_OFFS 3 > > #define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS) > > > > -#define BOOT_FROM_UART 0x30 > > -#define BOOT_FROM_SPI 0x38 > > +#define BOOT_FROM_UART(x) (x == 0x30) > > +#define BOOT_FROM_SPI(x) (x == 0x38) > > > > #define CONFIG_SYS_TCLK ((readl(CONFIG_SAR_REG) & BIT(20)) > > ? \ > > 200000000 : 166000000) > > @@ -160,12 +160,11 @@ > > #define BOOT_DEV_SEL_OFFS 4 > > #define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS) > > > > -#define BOOT_FROM_NAND 0x0A > > -#define BOOT_FROM_SATA 0x2A > > -#define BOOT_FROM_UART 0x28 > > -#define BOOT_FROM_SPI 0x32 > > -#define BOOT_FROM_MMC 0x30 > > -#define BOOT_FROM_MMC_ALT 0x31 > > +#define BOOT_FROM_NAND(x) (x == 0x0A) > > +#define BOOT_FROM_SATA(x) (x == 0x2A) > > +#define BOOT_FROM_UART(x) (x == 0x28) > > +#define BOOT_FROM_SPI(x) (x == 0x32) > > +#define BOOT_FROM_MMC(x) (x == 0x30 || x == 0x31) > > > > #define CONFIG_SYS_TCLK ((readl(CONFIG_SAR_REG) & BIT(15)) > > ? \ > > 200000000 : 250000000) > > @@ -182,9 +181,9 @@ > > #define BOOT_DEV_SEL_OFFS 11 > > #define BOOT_DEV_SEL_MASK (0x7 << BOOT_DEV_SEL_OFFS) > > > > -#define BOOT_FROM_NAND 0x1 > > -#define BOOT_FROM_UART 0x2 > > -#define BOOT_FROM_SPI 0x3 > > +#define BOOT_FROM_NAND(x) (x == 0x1) > > +#define BOOT_FROM_UART(x) (x == 0x2) > > +#define BOOT_FROM_SPI(x) (x == 0x3) > > > > #define CONFIG_SYS_TCLK 200000000 /* 200MHz */ > > #elif defined(CONFIG_ARMADA_XP) > > @@ -204,8 +203,8 @@ > > #define BOOT_DEV_SEL_OFFS 5 > > #define BOOT_DEV_SEL_MASK (0xf << BOOT_DEV_SEL_OFFS) > > > > -#define BOOT_FROM_UART 0x2 > > -#define BOOT_FROM_SPI 0x3 > > +#define BOOT_FROM_UART(x) (x == 0x2) > > +#define BOOT_FROM_SPI(x) (x == 0x3) > > > > #define CONFIG_SYS_TCLK 250000000 /* 250MHz */ > > #endif > > -- > > 2.20.1 > > > >