
Hi Pali,
On 3/5/23 12:48, Pali Rohár wrote:
On Sunday 05 March 2023 03:11:20 Martin Rowe wrote:
On Sat, 4 Mar 2023 at 10:51, Pali Rohár pali@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 pali@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);
#ifdef BOOT_FROM_NANDswitch (boot_device) {
case BOOT_FROM_NAND:
#endif #ifdef BOOT_FROM_MMCif (BOOT_FROM_NAND(boot_device)) return BOOT_DEVICE_NAND;
case BOOT_FROM_MMC:
case BOOT_FROM_MMC_ALT:
#endifif (BOOT_FROM_MMC(boot_device)) return BOOT_DEVICE_MMC1;
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:
#endifif (BOOT_FROM_SATA(boot_device)) return BOOT_DEVICE_SATA;
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)
Applying this series to next does not work for me. Could you please re- send this patch series with all the RB and TB tags and this fix included?
Thanks, Stefan
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
Viele Grüße, Stefan Roese