aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2012-09-30 11:44:44 +0000
committerHauke Mehrtens <hauke@openwrt.org>2012-09-30 11:44:44 +0000
commit0056094a9819c28bb56f2d161c4f0a0fa86ec821 (patch)
tree55347e4e6a53a8a6f7be5b3b3eaea19c54b9ed00 /target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch
parenta65fa180cdb298f1a63dd7c09a58c720ebf6ca47 (diff)
downloadupstream-0056094a9819c28bb56f2d161c4f0a0fa86ec821.tar.gz
upstream-0056094a9819c28bb56f2d161c4f0a0fa86ec821.tar.bz2
upstream-0056094a9819c28bb56f2d161c4f0a0fa86ec821.zip
[brcm47xx]: bcma: initialize sprom earlier
The chip common and the PCIe code are accessing the sprom struct which is not filled when these cores are initialized. Fix this by adding an early initialize and fill the sprom struct before accessing it in other code. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33600 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch8
1 files changed, 4 insertions, 4 deletions
diff --git a/target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch b/target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch
index c8ff6b2635..951c6d40e9 100644
--- a/target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch
+++ b/target/linux/brcm47xx/patches-3.3/501-bcma-add-gpio-driver.patch
@@ -1,6 +1,6 @@
--- a/drivers/bcma/driver_chipcommon.c
+++ b/drivers/bcma/driver_chipcommon.c
-@@ -57,6 +57,8 @@ void bcma_core_chipcommon_init(struct bc
+@@ -70,6 +70,8 @@ void bcma_core_chipcommon_init(struct bc
(leddc_off << BCMA_CC_GPIOTIMER_OFFTIME_SHIFT)));
}
@@ -9,7 +9,7 @@
cc->setup_done = true;
}
-@@ -79,34 +81,81 @@ u32 bcma_chipco_irq_status(struct bcma_d
+@@ -92,34 +94,81 @@ u32 bcma_chipco_irq_status(struct bcma_d
u32 bcma_chipco_gpio_in(struct bcma_drv_cc *cc, u32 mask)
{
@@ -99,7 +99,7 @@
void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
-@@ -494,6 +494,9 @@ struct bcma_drv_cc {
+@@ -495,6 +495,9 @@ struct bcma_drv_cc {
int nr_serial_ports;
struct bcma_serial_port serial_ports[4];
#endif /* CONFIG_BCMA_DRIVER_MIPS */
@@ -109,7 +109,7 @@
};
/* Register access */
-@@ -523,13 +526,22 @@ void bcma_chipco_irq_mask(struct bcma_dr
+@@ -525,13 +528,22 @@ void bcma_chipco_irq_mask(struct bcma_dr
u32 bcma_chipco_irq_status(struct bcma_drv_cc *cc, u32 mask);