You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.6 KiB
Diff
91 lines
2.6 KiB
Diff
From 17e0ca5d6e08a83eed8dada75af4c0107f162051 Mon Sep 17 00:00:00 2001
|
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Date: Thu, 19 Sep 2013 23:40:09 +0200
|
|
Subject: [PATCH 018/110] MIPS: BCM47XX: only print SoC name in system type in
|
|
cpuinfo
|
|
|
|
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>
|
|
Acked-by: John Crispin <blogic@openwrt.org>
|
|
Patchwork: http://patchwork.linux-mips.org/patch/5865/
|
|
---
|
|
arch/mips/bcm47xx/prom.c | 31 ++++++++------------------
|
|
arch/mips/bcm47xx/setup.c | 2 ++
|
|
arch/mips/include/asm/mach-bcm47xx/bcm47xx.h | 2 ++
|
|
3 files changed, 13 insertions(+), 22 deletions(-)
|
|
|
|
--- a/arch/mips/bcm47xx/prom.c
|
|
+++ b/arch/mips/bcm47xx/prom.c
|
|
@@ -37,32 +37,19 @@
|
|
|
|
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)
|
|
--- a/arch/mips/bcm47xx/setup.c
|
|
+++ b/arch/mips/bcm47xx/setup.c
|
|
@@ -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
|
|
}
|
|
|
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
@@ -56,4 +56,6 @@ void bcm47xx_fill_bcma_boardinfo(struct
|
|
const char *prefix);
|
|
#endif
|
|
|
|
+void bcm47xx_set_system_type(u16 chip_id);
|
|
+
|
|
#endif /* __ASM_BCM47XX_H */
|