diff options
Diffstat (limited to 'target/linux/brcm47xx')
| -rw-r--r-- | target/linux/brcm47xx/patches-3.2/230-bcma-find-name-for-non-brcm.patch | 35 | 
1 files changed, 10 insertions, 25 deletions
| diff --git a/target/linux/brcm47xx/patches-3.2/230-bcma-find-name-for-non-brcm.patch b/target/linux/brcm47xx/patches-3.2/230-bcma-find-name-for-non-brcm.patch index f76c5adec..54addee96 100644 --- a/target/linux/brcm47xx/patches-3.2/230-bcma-find-name-for-non-brcm.patch +++ b/target/linux/brcm47xx/patches-3.2/230-bcma-find-name-for-non-brcm.patch @@ -48,7 +48,7 @@   	{ BCMA_CORE_MAC_GBIT, "GBit MAC" },   	{ BCMA_CORE_DDR12_MEM_CTL, "DDR1/DDR2 Memory Controller" },   	{ BCMA_CORE_PCIE_RC, "PCIe Root Complex" }, -@@ -79,16 +80,57 @@ struct bcma_device_id_name bcma_device_n +@@ -79,16 +80,41 @@ struct bcma_device_id_name bcma_device_n   	{ BCMA_CORE_SHIM, "SHIM" },   	{ BCMA_CORE_DEFAULT, "Default" },   }; @@ -60,30 +60,17 @@  +	{ BCMA_CORE_MIPS_74K, "MIPS 74K" },  +};  + -+static const char *bcma_scan_device_names(const struct bcma_device_id *id, -+				   const struct bcma_device_id_name *device_names, -+				   int array_size) ++static const char *bcma_device_name(const struct bcma_device_id *id)   { - 	int i; +-	int i; ++	const struct bcma_device_id_name *names; ++	int size, i;  -	if (id->manuf == BCMA_MANUF_BCM) {  -		for (i = 0; i < ARRAY_SIZE(bcma_device_names); i++) {  -			if (bcma_device_names[i].id == id->id)  -				return bcma_device_names[i].name;  -		} -+	for (i = 0; i < array_size; i++) { -+		if (device_names[i].id == id->id) -+			return device_names[i].name; - 	} -+	return NULL; -+} -+ -+static const char *bcma_device_name(const struct bcma_device_id *id) -+{ -+	const char *name; -+	const struct bcma_device_id_name *names; -+	int size; -+  +	/* search manufacturer specific names */  +	switch (id->manuf) {  +	case BCMA_MANUF_ARM: @@ -99,14 +86,12 @@  +		size = ARRAY_SIZE(bcma_mips_device_names);  +		break;  +	default: -+		names = NULL; -+		break; -+	} ++		return "UNKNOWN"; + 	}  + -+	if (names) { -+		name = bcma_scan_device_names(id, names, size); -+		if (name) -+			return name; ++	for (i = 0; i < size; i++) { ++		if (names[i].id == id->id) ++			return names[i].name;  +	}  +   	return "UNKNOWN"; | 
