summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.0/020-ssb_update.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.0/020-ssb_update.patch')
-rw-r--r--target/linux/generic/patches-3.0/020-ssb_update.patch26
1 files changed, 3 insertions, 23 deletions
diff --git a/target/linux/generic/patches-3.0/020-ssb_update.patch b/target/linux/generic/patches-3.0/020-ssb_update.patch
index 32f555767..74fb28c84 100644
--- a/target/linux/generic/patches-3.0/020-ssb_update.patch
+++ b/target/linux/generic/patches-3.0/020-ssb_update.patch
@@ -154,35 +154,15 @@
{
u16 tmp = pcicore_read16(pc, SSB_PCICORE_SPROM(0));
if (((tmp & 0xF000) >> 12) != pc->dev->core_index) {
-@@ -514,12 +514,16 @@ static void ssb_pcicore_pcie_setup_worka
+@@ -514,7 +514,7 @@ static void ssb_pcicore_pcie_setup_worka
* Generic and Clientmode operation code.
**************************************************/
-static void ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
+static void __devinit ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
{
-- ssb_pcicore_fix_sprom_core_index(pc);
-+ struct ssb_device *pdev = pc->dev;
-+ struct ssb_bus *bus = pdev->bus;
-+
-+ if (bus->bustype == SSB_BUSTYPE_PCI)
-+ ssb_pcicore_fix_sprom_core_index(pc);
-
- /* Disable PCI interrupts. */
-- ssb_write32(pc->dev, SSB_INTVEC, 0);
-+ ssb_write32(pdev, SSB_INTVEC, 0);
-
- /* Additional PCIe always once-executed workarounds */
- if (pc->dev->id.coreid == SSB_DEV_PCIE) {
-@@ -529,7 +533,7 @@ static void ssb_pcicore_init_clientmode(
- }
- }
-
--void ssb_pcicore_init(struct ssb_pcicore *pc)
-+void __devinit ssb_pcicore_init(struct ssb_pcicore *pc)
- {
- struct ssb_device *dev = pc->dev;
-
+ struct ssb_device *pdev = pc->dev;
+ struct ssb_bus *bus = pdev->bus;
--- a/drivers/ssb/embedded.c
+++ b/drivers/ssb/embedded.c
@@ -3,7 +3,7 @@