MIPS: alchemy: Share prom_init implementation
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 5 Oct 2020 11:28:45 +0000 (13:28 +0200)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 6 Oct 2020 10:33:57 +0000 (12:33 +0200)
All boards have the same prom_init() function. Move it to common code and
delete the duplicates.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/alchemy/board-gpr.c
arch/mips/alchemy/board-mtx1.c
arch/mips/alchemy/board-xxs1500.c
arch/mips/alchemy/common/prom.c
arch/mips/alchemy/devboards/platform.c

index 6c47318946e4f5bddbfa8eb798d0f27d7296e3df..f587c40b6d00a9ce5c25520f31e2b2ca60c80919 100644 (file)
@@ -31,23 +31,6 @@ const char *get_system_type(void)
        return "GPR";
 }
 
-void __init prom_init(void)
-{
-       unsigned char *memsize_str;
-       unsigned long memsize;
-
-       prom_argc = fw_arg0;
-       prom_argv = (char **)fw_arg1;
-       prom_envp = (char **)fw_arg2;
-
-       prom_init_cmdline();
-
-       memsize_str = prom_getenv("memsize");
-       if (!memsize_str || kstrtoul(memsize_str, 0, &memsize))
-               memsize = 0x04000000;
-       add_memory_region(0, memsize, BOOT_MEM_RAM);
-}
-
 void prom_putchar(char c)
 {
        alchemy_uart_putchar(AU1000_UART0_PHYS_ADDR, c);
index 23093535399f1bd9713d687af1dacd0c55a1d1de..68ea5751162900f21b3ba00e61f03a90bf37af3f 100644 (file)
@@ -30,23 +30,6 @@ const char *get_system_type(void)
        return "MTX-1";
 }
 
-void __init prom_init(void)
-{
-       unsigned char *memsize_str;
-       unsigned long memsize;
-
-       prom_argc = fw_arg0;
-       prom_argv = (char **)fw_arg1;
-       prom_envp = (char **)fw_arg2;
-
-       prom_init_cmdline();
-
-       memsize_str = prom_getenv("memsize");
-       if (!memsize_str || kstrtoul(memsize_str, 0, &memsize))
-               memsize = 0x04000000;
-       add_memory_region(0, memsize, BOOT_MEM_RAM);
-}
-
 void prom_putchar(char c)
 {
        alchemy_uart_putchar(AU1000_UART0_PHYS_ADDR, c);
index c67dfe1f49971eeca5a514c73c7e0a05544795d2..b184baa4e56a65b3da2edd8b225a2c2d62095459 100644 (file)
@@ -25,24 +25,6 @@ const char *get_system_type(void)
        return "XXS1500";
 }
 
-void __init prom_init(void)
-{
-       unsigned char *memsize_str;
-       unsigned long memsize;
-
-       prom_argc = fw_arg0;
-       prom_argv = (char **)fw_arg1;
-       prom_envp = (char **)fw_arg2;
-
-       prom_init_cmdline();
-
-       memsize_str = prom_getenv("memsize");
-       if (!memsize_str || kstrtoul(memsize_str, 0, &memsize))
-               memsize = 0x04000000;
-
-       add_memory_region(0, memsize, BOOT_MEM_RAM);
-}
-
 void prom_putchar(char c)
 {
        alchemy_uart_putchar(AU1000_UART0_PHYS_ADDR, c);
index af312b5e33f65981eb739fdb8ede2145afb7077e..cfa203064d3c21e6f351a0dc8b5583e46f5e5cc0 100644 (file)
@@ -34,6 +34,8 @@
  */
 
 #include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/sizes.h>
 #include <linux/string.h>
 
 #include <asm/bootinfo.h>
@@ -76,6 +78,24 @@ char *prom_getenv(char *envname)
        return NULL;
 }
 
+void __init prom_init(void)
+{
+       unsigned char *memsize_str;
+       unsigned long memsize;
+
+       prom_argc = (int)fw_arg0;
+       prom_argv = (char **)fw_arg1;
+       prom_envp = (char **)fw_arg2;
+
+       prom_init_cmdline();
+
+       memsize_str = prom_getenv("memsize");
+       if (!memsize_str || kstrtoul(memsize_str, 0, &memsize))
+               memsize = SZ_64M; /* minimum memsize is 64MB RAM */
+
+       add_memory_region(0, memsize, BOOT_MEM_RAM);
+}
+
 static inline unsigned char str2hexnum(unsigned char c)
 {
        if (c >= '0' && c <= '9')
index 8d4b65c3268a5eef08f8fe10518af69468bc2b00..754bdd2ca6305d209c9458424953fdc51cdc6a5d 100644 (file)
 
 #include <prom.h>
 
-void __init prom_init(void)
-{
-       unsigned char *memsize_str;
-       unsigned long memsize;
-
-       prom_argc = (int)fw_arg0;
-       prom_argv = (char **)fw_arg1;
-       prom_envp = (char **)fw_arg2;
-
-       prom_init_cmdline();
-       memsize_str = prom_getenv("memsize");
-       if (!memsize_str || kstrtoul(memsize_str, 0, &memsize))
-               memsize = 64 << 20; /* all devboards have at least 64MB RAM */
-
-       add_memory_region(0, memsize, BOOT_MEM_RAM);
-}
-
 void prom_putchar(char c)
 {
        if (alchemy_get_cputype() == ALCHEMY_CPU_AU1300)