summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch58
1 files changed, 17 insertions, 41 deletions
diff --git a/target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch b/target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch
index 15629aca24..9a4e877287 100644
--- a/target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch
+++ b/target/linux/brcm47xx/patches-3.0/0012-bcma-move-parallel-flash-into-a-union.patch
@@ -1,54 +1,38 @@
-From a1d9c96a6c9b37b26dc1149706f3061b57a62b50 Mon Sep 17 00:00:00 2001
+From b7d9f9cd6a8e463c1061ea29ed3e614403625024 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sun, 17 Jul 2011 14:51:47 +0200
-Subject: [PATCH 12/22] bcma: move parallel flash into a union
+Subject: [PATCH 12/26] bcma: move parallel flash into a union
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
- arch/mips/bcm47xx/nvram.c | 7 ++-
- drivers/bcma/driver_mips.c | 9 ++--
- include/linux/bcma/bcma_driver_chipcommon.h | 75 ++++++++++++++++++++++++++-
- 3 files changed, 84 insertions(+), 7 deletions(-)
+ arch/mips/bcm47xx/nvram.c | 3 +
+ drivers/bcma/driver_mips.c | 1 +
+ include/linux/bcma/bcma_driver_chipcommon.h | 73 ++++++++++++++++++++++++++-
+ 3 files changed, 76 insertions(+), 1 deletions(-)
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
-@@ -50,8 +50,11 @@ static void early_nvram_init(void)
+@@ -50,6 +50,9 @@ static void early_nvram_init(void)
#ifdef CONFIG_BCM47XX_BCMA
case BCM47XX_BUS_TYPE_BCMA:
bcma_cc = &bcm47xx_bus.bcma.bus.drv_cc;
-- base = bcma_cc->pflash.window;
-- lim = bcma_cc->pflash.window_size;
+ if (bcma_cc->flash_type != BCMA_PFLASH)
+ return;
+
-+ base = bcma_cc->flash.pflash.window;
-+ lim = bcma_cc->flash.pflash.window_size;
+ base = bcma_cc->pflash.window;
+ lim = bcma_cc->pflash.window_size;
break;
- #endif
- }
--- a/drivers/bcma/driver_mips.c
+++ b/drivers/bcma/driver_mips.c
-@@ -189,14 +189,15 @@ static void bcma_core_mips_flash_detect(
+@@ -189,6 +189,7 @@ static void bcma_core_mips_flash_detect(
break;
case BCMA_CC_FLASHT_PARA:
pr_info("found parallel flash.\n");
-- bus->drv_cc.pflash.window = 0x1c000000;
-- bus->drv_cc.pflash.window_size = 0x02000000;
+ bus->drv_cc.flash_type = BCMA_PFLASH;
-+ bus->drv_cc.flash.pflash.window = 0x1c000000;
-+ bus->drv_cc.flash.pflash.window_size = 0x02000000;
+ bus->drv_cc.pflash.window = 0x1c000000;
+ bus->drv_cc.pflash.window_size = 0x02000000;
- if ((bcma_read32(bus->drv_cc.core, BCMA_CC_FLASH_CFG) &
- BCMA_CC_FLASH_CFG_DS) == 0)
-- bus->drv_cc.pflash.buswidth = 1;
-+ bus->drv_cc.flash.pflash.buswidth = 1;
- else
-- bus->drv_cc.pflash.buswidth = 2;
-+ bus->drv_cc.flash.pflash.buswidth = 2;
- break;
- default:
- pr_err("flash not supported.\n");
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -108,10 +108,68 @@
@@ -133,7 +117,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
/* Data for the PMU, if available.
* Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
*/
-@@ -292,12 +356,20 @@ struct bcma_chipcommon_pmu {
+@@ -292,6 +356,10 @@ struct bcma_chipcommon_pmu {
};
#ifdef CONFIG_BCMA_DRIVER_MIPS
@@ -144,23 +128,15 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
struct bcma_pflash {
u8 buswidth;
u32 window;
- u32 window_size;
- };
-
-+union bcma_flash {
-+ struct bcma_pflash pflash;
-+};
-+
- struct bcma_serial_port {
- void *regs;
- unsigned long clockspeed;
-@@ -317,7 +389,8 @@ struct bcma_drv_cc {
+@@ -317,7 +385,10 @@ struct bcma_drv_cc {
u16 fast_pwrup_delay;
struct bcma_chipcommon_pmu pmu;
#ifdef CONFIG_BCMA_DRIVER_MIPS
- struct bcma_pflash pflash;
+ enum bcma_flash_type flash_type;
-+ union bcma_flash flash;
++ union {
++ struct bcma_pflash pflash;
++ };
int nr_serial_ports;
struct bcma_serial_port serial_ports[4];