aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/main.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2014-05-10 13:52:18 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-05-13 15:56:35 -0400
commitbd7c8a593760ab9933e3369b3aac4f246052ad8e (patch)
tree14162d9182d8d85c22bfc3c0ab2d622c4c4f80c0 /drivers/net/wireless/b43/main.c
parentfe5d96246e9c4d266c4a8dca99f82ad82f2305b5 (diff)
b43: adjust code to compile without SSB
Users of new (BCMA based) wireless chipsets may not want to enable SSB. This is hopefully the last code patch for dropping SSB dependency. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r--drivers/net/wireless/b43/main.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 32e08d35c06e..558abe7718e4 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -1208,6 +1208,7 @@ static void b43_bcma_wireless_core_reset(struct b43_wldev *dev, bool gmode)
1208} 1208}
1209#endif 1209#endif
1210 1210
1211#ifdef CONFIG_B43_SSB
1211static void b43_ssb_wireless_core_reset(struct b43_wldev *dev, bool gmode) 1212static void b43_ssb_wireless_core_reset(struct b43_wldev *dev, bool gmode)
1212{ 1213{
1213 struct ssb_device *sdev = dev->dev->sdev; 1214 struct ssb_device *sdev = dev->dev->sdev;
@@ -1235,6 +1236,7 @@ static void b43_ssb_wireless_core_reset(struct b43_wldev *dev, bool gmode)
1235 ssb_read32(sdev, SSB_TMSLOW); /* flush */ 1236 ssb_read32(sdev, SSB_TMSLOW); /* flush */
1236 msleep(1); 1237 msleep(1);
1237} 1238}
1239#endif
1238 1240
1239void b43_wireless_core_reset(struct b43_wldev *dev, bool gmode) 1241void b43_wireless_core_reset(struct b43_wldev *dev, bool gmode)
1240{ 1242{
@@ -2735,6 +2737,8 @@ out:
2735/* Initialize the GPIOs 2737/* Initialize the GPIOs
2736 * http://bcm-specs.sipsolutions.net/GPIO 2738 * http://bcm-specs.sipsolutions.net/GPIO
2737 */ 2739 */
2740
2741#ifdef CONFIG_B43_SSB
2738static struct ssb_device *b43_ssb_gpio_dev(struct b43_wldev *dev) 2742static struct ssb_device *b43_ssb_gpio_dev(struct b43_wldev *dev)
2739{ 2743{
2740 struct ssb_bus *bus = dev->dev->sdev->bus; 2744 struct ssb_bus *bus = dev->dev->sdev->bus;
@@ -2745,10 +2749,13 @@ static struct ssb_device *b43_ssb_gpio_dev(struct b43_wldev *dev)
2745 return bus->chipco.dev; 2749 return bus->chipco.dev;
2746#endif 2750#endif
2747} 2751}
2752#endif
2748 2753
2749static int b43_gpio_init(struct b43_wldev *dev) 2754static int b43_gpio_init(struct b43_wldev *dev)
2750{ 2755{
2756#ifdef CONFIG_B43_SSB
2751 struct ssb_device *gpiodev; 2757 struct ssb_device *gpiodev;
2758#endif
2752 u32 mask, set; 2759 u32 mask, set;
2753 2760
2754 b43_maskset32(dev, B43_MMIO_MACCTL, ~B43_MACCTL_GPOUTSMSK, 0); 2761 b43_maskset32(dev, B43_MMIO_MACCTL, ~B43_MACCTL_GPOUTSMSK, 0);
@@ -2807,7 +2814,9 @@ static int b43_gpio_init(struct b43_wldev *dev)
2807/* Turn off all GPIO stuff. Call this on module unload, for example. */ 2814/* Turn off all GPIO stuff. Call this on module unload, for example. */
2808static void b43_gpio_cleanup(struct b43_wldev *dev) 2815static void b43_gpio_cleanup(struct b43_wldev *dev)
2809{ 2816{
2817#ifdef CONFIG_B43_SSB
2810 struct ssb_device *gpiodev; 2818 struct ssb_device *gpiodev;
2819#endif
2811 2820
2812 switch (dev->dev->bus_type) { 2821 switch (dev->dev->bus_type) {
2813#ifdef CONFIG_B43_BCMA 2822#ifdef CONFIG_B43_BCMA
@@ -3692,7 +3701,9 @@ static void b43_op_set_tsf(struct ieee80211_hw *hw,
3692 3701
3693static void b43_put_phy_into_reset(struct b43_wldev *dev) 3702static void b43_put_phy_into_reset(struct b43_wldev *dev)
3694{ 3703{
3704#ifdef CONFIG_B43_SSB
3695 u32 tmp; 3705 u32 tmp;
3706#endif
3696 3707
3697 switch (dev->dev->bus_type) { 3708 switch (dev->dev->bus_type) {
3698#ifdef CONFIG_B43_BCMA 3709#ifdef CONFIG_B43_BCMA
@@ -4582,8 +4593,12 @@ static void b43_imcfglo_timeouts_workaround(struct b43_wldev *dev)
4582 struct ssb_bus *bus; 4593 struct ssb_bus *bus;
4583 u32 tmp; 4594 u32 tmp;
4584 4595
4596#ifdef CONFIG_B43_SSB
4585 if (dev->dev->bus_type != B43_BUS_SSB) 4597 if (dev->dev->bus_type != B43_BUS_SSB)
4586 return; 4598 return;
4599#else
4600 return;
4601#endif
4587 4602
4588 bus = dev->dev->sdev->bus; 4603 bus = dev->dev->sdev->bus;
4589 4604
@@ -4738,7 +4753,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev)
4738 } 4753 }
4739 if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW) 4754 if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW)
4740 hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */ 4755 hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */
4741#ifdef CONFIG_SSB_DRIVER_PCICORE 4756#if defined(CONFIG_B43_SSB) && defined(CONFIG_SSB_DRIVER_PCICORE)
4742 if (dev->dev->bus_type == B43_BUS_SSB && 4757 if (dev->dev->bus_type == B43_BUS_SSB &&
4743 dev->dev->sdev->bus->bustype == SSB_BUSTYPE_PCI && 4758 dev->dev->sdev->bus->bustype == SSB_BUSTYPE_PCI &&
4744 dev->dev->sdev->bus->pcicore.dev->id.revision <= 10) 4759 dev->dev->sdev->bus->pcicore.dev->id.revision <= 10)
@@ -5310,6 +5325,7 @@ static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl)
5310 (pdev->subsystem_vendor == PCI_VENDOR_ID_##_subvendor) && \ 5325 (pdev->subsystem_vendor == PCI_VENDOR_ID_##_subvendor) && \
5311 (pdev->subsystem_device == _subdevice) ) 5326 (pdev->subsystem_device == _subdevice) )
5312 5327
5328#ifdef CONFIG_B43_SSB
5313static void b43_sprom_fixup(struct ssb_bus *bus) 5329static void b43_sprom_fixup(struct ssb_bus *bus)
5314{ 5330{
5315 struct pci_dev *pdev; 5331 struct pci_dev *pdev;
@@ -5341,6 +5357,7 @@ static void b43_wireless_exit(struct b43_bus_dev *dev, struct b43_wl *wl)
5341 ssb_set_devtypedata(dev->sdev, NULL); 5357 ssb_set_devtypedata(dev->sdev, NULL);
5342 ieee80211_free_hw(hw); 5358 ieee80211_free_hw(hw);
5343} 5359}
5360#endif
5344 5361
5345static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev) 5362static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
5346{ 5363{