
On 09/07/2016 07:48 PM, Paul Burton wrote:
Add an implementation of arch_cpu_init that covers all MIPS boards, in preparation for performing various pieces of initialisation there in later patches.
In order to allow the ath79 code to continue performing initialisation at this point in the boot, it's converted to use a new mach_cpu_init function which is called from arch_cpu_init.
Signed-off-by: Paul Burton paul.burton@imgtec.com
[...]
Hi!
diff --git a/arch/mips/include/asm/u-boot-mips.h b/arch/mips/include/asm/u-boot-mips.h index 1f527bb..0eaf32b 100644 --- a/arch/mips/include/asm/u-boot-mips.h +++ b/arch/mips/include/asm/u-boot-mips.h @@ -5,4 +5,16 @@ #ifndef _U_BOOT_MIPS_H_ #define _U_BOOT_MIPS_H_
+/**
- mach_cpu_init() - Perform SoC/machine-specific CPU initialisation
- This is called from arch_cpu_init() to allow for SoC/machine-level code to
- perform any CPU initialisation it may require.
Just call this function from arch_cpu_init() in various places instead of replacing arch_cpu_init() with it all over the place. Also rename it to arch_cpu_init_common() to make it more obvious what this does .
- */
+#ifdef CONFIG_MACH_CPU_INIT +void mach_cpu_init(void); +#else +static inline void mach_cpu_init(void) {}
Implement this as __weak int and you can nuke the ifdefery .
+#endif
#endif /* _U_BOOT_MIPS_H_ */ diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c index 5756a06..a556b73 100644 --- a/arch/mips/mach-ath79/cpu.c +++ b/arch/mips/mach-ath79/cpu.c @@ -46,7 +46,7 @@ static const struct ath79_soc_desc desc[] = { {ATH79_SOC_QCA9561, "9561", REV_ID_MAJOR_QCA9561, 0}, };
-int arch_cpu_init(void) +void mach_cpu_init(void)
See above.
{ void __iomem *base; enum ath79_soc_type soc = ATH79_SOC_UNKNOWN; @@ -98,7 +98,6 @@ int arch_cpu_init(void) gd->arch.soc = soc; gd->arch.rev = rev; gd->arch.ver = ver;
- return 0;
That's a nope, keep the return value.
}
int print_cpuinfo(void)