diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2014-05-10 13:52:18 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-05-13 15:56:35 -0400 |
commit | bd7c8a593760ab9933e3369b3aac4f246052ad8e (patch) | |
tree | 14162d9182d8d85c22bfc3c0ab2d622c4c4f80c0 /drivers/net/wireless/b43/main.c | |
parent | fe5d96246e9c4d266c4a8dca99f82ad82f2305b5 (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.c | 19 |
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 | ||
1211 | static void b43_ssb_wireless_core_reset(struct b43_wldev *dev, bool gmode) | 1212 | static 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 | ||
1239 | void b43_wireless_core_reset(struct b43_wldev *dev, bool gmode) | 1241 | void 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 | ||
2738 | static struct ssb_device *b43_ssb_gpio_dev(struct b43_wldev *dev) | 2742 | static 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 | ||
2749 | static int b43_gpio_init(struct b43_wldev *dev) | 2754 | static 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. */ |
2808 | static void b43_gpio_cleanup(struct b43_wldev *dev) | 2815 | static 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 | ||
3693 | static void b43_put_phy_into_reset(struct b43_wldev *dev) | 3702 | static 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 | ||
5313 | static void b43_sprom_fixup(struct ssb_bus *bus) | 5329 | static 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 | ||
5345 | static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev) | 5362 | static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev) |
5346 | { | 5363 | { |