MIPS: BCM47XX: only print SoC name in system type in cpuinfo
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 19 Sep 2013 21:40:09 +0000 (23:40 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 22 Jan 2014 19:18:54 +0000 (20:18 +0100)
Recently the output of "system type" in  /proc/cpuinfo was changed to
Broadcom BCM4730 (Some sample board), but it is better to just print
the SoC name in the "system type" entry. The board name will be added
in the machine entry later.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/5865/

arch/mips/bcm47xx/prom.c
arch/mips/bcm47xx/setup.c
arch/mips/include/asm/mach-bcm47xx/bcm47xx.h

index 5cba318bc1cd8e1ce32a8535ecbf79acf1000bf5..53b9a3fbc8f5aa06aac041a9615361a0759358ad 100644 (file)
 
 static int cfe_cons_handle;
 
-static u16 get_chip_id(void)
-{
-       switch (bcm47xx_bus_type) {
-#ifdef CONFIG_BCM47XX_SSB
-       case BCM47XX_BUS_TYPE_SSB:
-               return bcm47xx_bus.ssb.chip_id;
-#endif
-#ifdef CONFIG_BCM47XX_BCMA
-       case BCM47XX_BUS_TYPE_BCMA:
-               return bcm47xx_bus.bcma.bus.chipinfo.id;
-#endif
-       }
-       return 0;
-}
+static char bcm47xx_system_type[20] = "Broadcom BCM47XX";
 
 const char *get_system_type(void)
 {
-       static char buf[50];
-       u16 chip_id = get_chip_id();
-
-       snprintf(buf, sizeof(buf),
-                (chip_id > 0x9999) ? "Broadcom BCM%d (%s)" :
-                                     "Broadcom BCM%04X (%s)",
-                chip_id, bcm47xx_board_get_name());
+       return bcm47xx_system_type;
+}
 
-       return buf;
+__init void bcm47xx_set_system_type(u16 chip_id)
+{
+       snprintf(bcm47xx_system_type, sizeof(bcm47xx_system_type),
+                (chip_id > 0x9999) ? "Broadcom BCM%d" :
+                                     "Broadcom BCM%04X",
+                chip_id);
 }
 
 void prom_putchar(char c)
index 1f30571968e78194ad6338b4f0ac3cb3b64332bc..de08ba95ebac1cd2f03cc6ff48582077a6ed9b96 100644 (file)
@@ -210,12 +210,14 @@ void __init plat_mem_setup(void)
 #ifdef CONFIG_BCM47XX_BCMA
                bcm47xx_bus_type = BCM47XX_BUS_TYPE_BCMA;
                bcm47xx_register_bcma();
+               bcm47xx_set_system_type(bcm47xx_bus.bcma.bus.chipinfo.id);
 #endif
        } else {
                printk(KERN_INFO "bcm47xx: using ssb bus\n");
 #ifdef CONFIG_BCM47XX_SSB
                bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB;
                bcm47xx_register_ssb();
+               bcm47xx_set_system_type(bcm47xx_bus.ssb.chip_id);
 #endif
        }
 
index cc7563ba1cbf57e7f2893bc4d2b513bb6548614e..7527c1d33d029a11f1558b0d0e94855e5aa6edc5 100644 (file)
@@ -56,4 +56,6 @@ void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo,
                                 const char *prefix);
 #endif
 
+void bcm47xx_set_system_type(u16 chip_id);
+
 #endif /* __ASM_BCM47XX_H */