56 lines
1.4 KiB
Diff
56 lines
1.4 KiB
Diff
|
commit 7ad3b82f9d80ef8919dcfdfe7561e1a83e09c6bd
|
||
|
Author: Hauke Mehrtens <hauke@hauke-m.de>
|
||
|
Date: Wed Sep 18 13:29:58 2013 +0200
|
||
|
|
||
|
MIPS: BCM47XX: Print board name in /proc/cpuinfo
|
||
|
|
||
|
Do not print the constant system type "Broadcom BCM47XX" but print the
|
||
|
name of the actual SoC in use and the detected board.
|
||
|
|
||
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||
|
Cc: linux-mips@linux-mips.org
|
||
|
Patchwork: https://patchwork.linux-mips.org/patch/5839/
|
||
|
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||
|
|
||
|
--- a/arch/mips/bcm47xx/prom.c
|
||
|
+++ b/arch/mips/bcm47xx/prom.c
|
||
|
@@ -32,12 +32,37 @@
|
||
|
#include <asm/bootinfo.h>
|
||
|
#include <asm/fw/cfe/cfe_api.h>
|
||
|
#include <asm/fw/cfe/cfe_error.h>
|
||
|
+#include <bcm47xx.h>
|
||
|
+#include <bcm47xx_board.h>
|
||
|
|
||
|
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;
|
||
|
+}
|
||
|
+
|
||
|
const char *get_system_type(void)
|
||
|
{
|
||
|
- return "Broadcom BCM47XX";
|
||
|
+ 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 buf;
|
||
|
}
|
||
|
|
||
|
void prom_putchar(char c)
|