Skip to contentSkip to conversation

bcm63xx: set the correct BCM3302 CPU name when built for BCM47xx or BCM63xx

PATCH Applied Florian Fainelli 2 participants 3 messages Sep 3, 2009 – Oct 14, 2009 MIPS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 bcm63xx: set the correct BCM3302 CPU name when built for BCM47xx or BCM63xx

The Broadcom BCM3302 core is present in both the BCM47xx and the BCM6338 SoC. If people want to report a kernel oops it might be convenient to know about the real system they are running Linux on at first glance.
Set the CPU name to be 3302 on BCM47xx and 6338 on BCM63xx.

---

arch/mips/kernel/cpu-probe.c +4 -0
index 251a268..405e9d4 100644
@@ -862,7 +862,11 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
 	case PRID_IMP_BCM3302:
 	 /* same as PRID_IMP_BCM6338 */
 		c->cputype = CPU_BCM3302;
+#ifdef CONFIG_BCM47XX
 		__cpu_name[cpu] = "Broadcom BCM3302";
+#else 
+		__cpu_name[cpu] = "Broadcom BCM6338";
+#endif
 		break;
 	case PRID_IMP_BCM4710:
 		c->cputype = CPU_BCM4710;
#1 lore raw

Hi Ralf,

Please find below an updated and hopefully cleaner patch. Thanks ! --
From: Florian Fainelli <[email protected]>
Subject: [PATCH] bcm63xx: correctly set BCM6338 CPU name

For consistency with other BCM63xx SoC set the CPU name to "Broadcom BCM6338" when actually running on that system.

---

arch/mips/bcm63xx/cpu.c +3 -0
index 6dc43f0..70378bb 100644
@@ -10,6 +10,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/cpu.h>
+#include <asm/cpu-info.h>
 #include <bcm63xx_cpu.h>
 #include <bcm63xx_regs.h>
 #include <bcm63xx_io.h>
@@ -284,6 +285,7 @@ void __init bcm63xx_cpu_init(void)
 {
 	unsigned int tmp, expected_cpu_id;
 	struct cpuinfo_mips *c = &current_cpu_data;
+	unsigned int cpu = smp_processor_id();
 
 	/* soc registers location depends on cpu type */
 	expected_cpu_id = 0;
@@ -293,6 +295,7 @@ void __init bcm63xx_cpu_init(void)
 	 * BCM6338 as the same PrId as BCM3302 see arch/mips/kernel/cpu-probe.c
 	 */
 	case CPU_BCM3302:
+		__cpu_name[cpu] = "Broadcom BCM6338";
 		expected_cpu_id = BCM6338_CPU_ID;
 		bcm63xx_regs_base = bcm96338_regs_base;
 		bcm63xx_irqs = bcm96338_irqs;
Applied
#2 lore raw
Quoted 3 lines · Florian Fainelli

Hi Ralf,

Please find below an updated and hopefully cleaner patch. Thanks !

Thanks, applied.

Ralf