diff options
Diffstat (limited to 'target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch')
-rw-r--r-- | target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch b/target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch new file mode 100644 index 000000000..71ecc96ac --- /dev/null +++ b/target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch @@ -0,0 +1,49 @@ +From 1159024d4c0aafecaa0c6635c55153b4b39cc1c8 Mon Sep 17 00:00:00 2001 +From: "John W. Linville" <linville@tuxdriver.com> +Date: Fri, 13 May 2011 09:23:47 -0400 +Subject: [PATCH] ssb: fix pcicore build breakage + +drivers/ssb/main.c:1336: error: 'SSB_PCICORE_BCAST_ADDR' undeclared (first use in this function) +drivers/ssb/main.c:1337: error: 'SSB_PCICORE_BCAST_DATA' undeclared (first use in this function) +drivers/ssb/main.c:1349: error: 'struct ssb_pcicore' has no member named 'dev' + +Reported-by: Randy Dunlap <randy.dunlap@oracle.com> +Signed-off-by: John W. Linville <linville@tuxdriver.com> +--- + drivers/ssb/main.c | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) + +--- a/drivers/ssb/main.c ++++ b/drivers/ssb/main.c +@@ -1333,21 +1333,27 @@ EXPORT_SYMBOL(ssb_bus_powerup); + static void ssb_broadcast_value(struct ssb_device *dev, + u32 address, u32 data) + { ++#ifdef CONFIG_SSB_DRIVER_PCICORE + /* This is used for both, PCI and ChipCommon core, so be careful. */ + BUILD_BUG_ON(SSB_PCICORE_BCAST_ADDR != SSB_CHIPCO_BCAST_ADDR); + BUILD_BUG_ON(SSB_PCICORE_BCAST_DATA != SSB_CHIPCO_BCAST_DATA); ++#endif + +- ssb_write32(dev, SSB_PCICORE_BCAST_ADDR, address); +- ssb_read32(dev, SSB_PCICORE_BCAST_ADDR); /* flush */ +- ssb_write32(dev, SSB_PCICORE_BCAST_DATA, data); +- ssb_read32(dev, SSB_PCICORE_BCAST_DATA); /* flush */ ++ ssb_write32(dev, SSB_CHIPCO_BCAST_ADDR, address); ++ ssb_read32(dev, SSB_CHIPCO_BCAST_ADDR); /* flush */ ++ ssb_write32(dev, SSB_CHIPCO_BCAST_DATA, data); ++ ssb_read32(dev, SSB_CHIPCO_BCAST_DATA); /* flush */ + } + + void ssb_commit_settings(struct ssb_bus *bus) + { + struct ssb_device *dev; + ++#ifdef CONFIG_SSB_DRIVER_PCICORE + dev = bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev; ++#else ++ dev = bus->chipco.dev; ++#endif + if (WARN_ON(!dev)) + return; + /* This forces an update of the cached registers. */ |