diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2011-07-06 09:45:26 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-07-08 11:11:20 -0400 |
commit | 6cbab0d9139246405b2449ffebecc8c48d927a6e (patch) | |
tree | 84f946062f450cb27377e46dbe0d361c1ff70164 | |
parent | 75396ae6d433b49482e377e6f8dbf1f42ad53f3a (diff) |
b43: use switches for SSB specific code
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/b43/b43.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/b43/bus.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/b43/dma.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/b43/main.c | 144 | ||||
-rw-r--r-- | drivers/net/wireless/b43/phy_n.c | 40 |
5 files changed, 139 insertions, 57 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index 666515e348b5..08a28270bbb3 100644 --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h | |||
@@ -726,7 +726,6 @@ enum { | |||
726 | 726 | ||
727 | /* Data structure for one wireless device (802.11 core) */ | 727 | /* Data structure for one wireless device (802.11 core) */ |
728 | struct b43_wldev { | 728 | struct b43_wldev { |
729 | struct ssb_device *sdev; /* TODO: remove when b43_bus_dev is ready */ | ||
730 | struct b43_bus_dev *dev; | 729 | struct b43_bus_dev *dev; |
731 | struct b43_wl *wl; | 730 | struct b43_wl *wl; |
732 | 731 | ||
diff --git a/drivers/net/wireless/b43/bus.h b/drivers/net/wireless/b43/bus.h index a70b7b9a550b..f3c30ebc642a 100644 --- a/drivers/net/wireless/b43/bus.h +++ b/drivers/net/wireless/b43/bus.h | |||
@@ -2,7 +2,9 @@ | |||
2 | #define B43_BUS_H_ | 2 | #define B43_BUS_H_ |
3 | 3 | ||
4 | enum b43_bus_type { | 4 | enum b43_bus_type { |
5 | #ifdef CONFIG_B43_BCMA | ||
5 | B43_BUS_BCMA, | 6 | B43_BUS_BCMA, |
7 | #endif | ||
6 | B43_BUS_SSB, | 8 | B43_BUS_SSB, |
7 | }; | 9 | }; |
8 | 10 | ||
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c index 7a09a467339c..ce572aebeffd 100644 --- a/drivers/net/wireless/b43/dma.c +++ b/drivers/net/wireless/b43/dma.c | |||
@@ -1055,7 +1055,14 @@ int b43_dma_init(struct b43_wldev *dev) | |||
1055 | err = b43_dma_set_mask(dev, dmamask); | 1055 | err = b43_dma_set_mask(dev, dmamask); |
1056 | if (err) | 1056 | if (err) |
1057 | return err; | 1057 | return err; |
1058 | dma->translation = ssb_dma_translation(dev->sdev); | 1058 | |
1059 | switch (dev->dev->bus_type) { | ||
1060 | #ifdef CONFIG_B43_SSB | ||
1061 | case B43_BUS_SSB: | ||
1062 | dma->translation = ssb_dma_translation(dev->dev->sdev); | ||
1063 | break; | ||
1064 | #endif | ||
1065 | } | ||
1059 | 1066 | ||
1060 | err = -ENOMEM; | 1067 | err = -ENOMEM; |
1061 | /* setup TX DMA channels. */ | 1068 | /* setup TX DMA channels. */ |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index b85a9737ecbe..dd6d6523587a 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -1187,7 +1187,13 @@ void b43_wireless_core_reset(struct b43_wldev *dev, bool gmode) | |||
1187 | { | 1187 | { |
1188 | u32 macctl; | 1188 | u32 macctl; |
1189 | 1189 | ||
1190 | b43_ssb_wireless_core_reset(dev, gmode); | 1190 | switch (dev->dev->bus_type) { |
1191 | #ifdef CONFIG_B43_SSB | ||
1192 | case B43_BUS_SSB: | ||
1193 | b43_ssb_wireless_core_reset(dev, gmode); | ||
1194 | break; | ||
1195 | #endif | ||
1196 | } | ||
1191 | 1197 | ||
1192 | /* Turn Analog ON, but only if we already know the PHY-type. | 1198 | /* Turn Analog ON, but only if we already know the PHY-type. |
1193 | * This protects against very early setup where we don't know the | 1199 | * This protects against very early setup where we don't know the |
@@ -2624,11 +2630,17 @@ static int b43_gpio_init(struct b43_wldev *dev) | |||
2624 | if (dev->dev->core_rev >= 2) | 2630 | if (dev->dev->core_rev >= 2) |
2625 | mask |= 0x0010; /* FIXME: This is redundant. */ | 2631 | mask |= 0x0010; /* FIXME: This is redundant. */ |
2626 | 2632 | ||
2627 | gpiodev = b43_ssb_gpio_dev(dev); | 2633 | switch (dev->dev->bus_type) { |
2628 | if (gpiodev) | 2634 | #ifdef CONFIG_B43_SSB |
2629 | ssb_write32(gpiodev, B43_GPIO_CONTROL, | 2635 | case B43_BUS_SSB: |
2630 | (ssb_read32(gpiodev, B43_GPIO_CONTROL) | 2636 | gpiodev = b43_ssb_gpio_dev(dev); |
2631 | & mask) | set); | 2637 | if (gpiodev) |
2638 | ssb_write32(gpiodev, B43_GPIO_CONTROL, | ||
2639 | (ssb_read32(gpiodev, B43_GPIO_CONTROL) | ||
2640 | & mask) | set); | ||
2641 | break; | ||
2642 | #endif | ||
2643 | } | ||
2632 | 2644 | ||
2633 | return 0; | 2645 | return 0; |
2634 | } | 2646 | } |
@@ -2638,9 +2650,15 @@ static void b43_gpio_cleanup(struct b43_wldev *dev) | |||
2638 | { | 2650 | { |
2639 | struct ssb_device *gpiodev; | 2651 | struct ssb_device *gpiodev; |
2640 | 2652 | ||
2641 | gpiodev = b43_ssb_gpio_dev(dev); | 2653 | switch (dev->dev->bus_type) { |
2642 | if (gpiodev) | 2654 | #ifdef CONFIG_B43_SSB |
2643 | ssb_write32(gpiodev, B43_GPIO_CONTROL, 0); | 2655 | case B43_BUS_SSB: |
2656 | gpiodev = b43_ssb_gpio_dev(dev); | ||
2657 | if (gpiodev) | ||
2658 | ssb_write32(gpiodev, B43_GPIO_CONTROL, 0); | ||
2659 | break; | ||
2660 | #endif | ||
2661 | } | ||
2644 | } | 2662 | } |
2645 | 2663 | ||
2646 | /* http://bcm-specs.sipsolutions.net/EnableMac */ | 2664 | /* http://bcm-specs.sipsolutions.net/EnableMac */ |
@@ -2712,12 +2730,20 @@ out: | |||
2712 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/MacPhyClkSet */ | 2730 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/MacPhyClkSet */ |
2713 | void b43_mac_phy_clock_set(struct b43_wldev *dev, bool on) | 2731 | void b43_mac_phy_clock_set(struct b43_wldev *dev, bool on) |
2714 | { | 2732 | { |
2715 | u32 tmslow = ssb_read32(dev->sdev, SSB_TMSLOW); | 2733 | u32 tmp; |
2716 | if (on) | 2734 | |
2717 | tmslow |= B43_TMSLOW_MACPHYCLKEN; | 2735 | switch (dev->dev->bus_type) { |
2718 | else | 2736 | #ifdef CONFIG_B43_SSB |
2719 | tmslow &= ~B43_TMSLOW_MACPHYCLKEN; | 2737 | case B43_BUS_SSB: |
2720 | ssb_write32(dev->sdev, SSB_TMSLOW, tmslow); | 2738 | tmp = ssb_read32(dev->dev->sdev, SSB_TMSLOW); |
2739 | if (on) | ||
2740 | tmp |= B43_TMSLOW_MACPHYCLKEN; | ||
2741 | else | ||
2742 | tmp &= ~B43_TMSLOW_MACPHYCLKEN; | ||
2743 | ssb_write32(dev->dev->sdev, SSB_TMSLOW, tmp); | ||
2744 | break; | ||
2745 | #endif | ||
2746 | } | ||
2721 | } | 2747 | } |
2722 | 2748 | ||
2723 | static void b43_adjust_opmode(struct b43_wldev *dev) | 2749 | static void b43_adjust_opmode(struct b43_wldev *dev) |
@@ -2956,8 +2982,14 @@ static int b43_chip_init(struct b43_wldev *dev) | |||
2956 | 2982 | ||
2957 | b43_mac_phy_clock_set(dev, true); | 2983 | b43_mac_phy_clock_set(dev, true); |
2958 | 2984 | ||
2959 | b43_write16(dev, B43_MMIO_POWERUP_DELAY, | 2985 | switch (dev->dev->bus_type) { |
2960 | dev->sdev->bus->chipco.fast_pwrup_delay); | 2986 | #ifdef CONFIG_B43_SSB |
2987 | case B43_BUS_SSB: | ||
2988 | b43_write16(dev, B43_MMIO_POWERUP_DELAY, | ||
2989 | dev->dev->sdev->bus->chipco.fast_pwrup_delay); | ||
2990 | break; | ||
2991 | #endif | ||
2992 | } | ||
2961 | 2993 | ||
2962 | err = 0; | 2994 | err = 0; |
2963 | b43dbg(dev->wl, "Chip initialized\n"); | 2995 | b43dbg(dev->wl, "Chip initialized\n"); |
@@ -3473,21 +3505,27 @@ static void b43_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) | |||
3473 | 3505 | ||
3474 | static void b43_put_phy_into_reset(struct b43_wldev *dev) | 3506 | static void b43_put_phy_into_reset(struct b43_wldev *dev) |
3475 | { | 3507 | { |
3476 | struct ssb_device *sdev = dev->sdev; | 3508 | u32 tmp; |
3477 | u32 tmslow; | ||
3478 | 3509 | ||
3479 | tmslow = ssb_read32(sdev, SSB_TMSLOW); | 3510 | switch (dev->dev->bus_type) { |
3480 | tmslow &= ~B43_TMSLOW_GMODE; | 3511 | #ifdef CONFIG_B43_SSB |
3481 | tmslow |= B43_TMSLOW_PHYRESET; | 3512 | case B43_BUS_SSB: |
3482 | tmslow |= SSB_TMSLOW_FGC; | 3513 | tmp = ssb_read32(dev->dev->sdev, SSB_TMSLOW); |
3483 | ssb_write32(sdev, SSB_TMSLOW, tmslow); | 3514 | tmp &= ~B43_TMSLOW_GMODE; |
3484 | msleep(1); | 3515 | tmp |= B43_TMSLOW_PHYRESET; |
3516 | tmp |= SSB_TMSLOW_FGC; | ||
3517 | ssb_write32(dev->dev->sdev, SSB_TMSLOW, tmp); | ||
3518 | msleep(1); | ||
3519 | |||
3520 | tmp = ssb_read32(dev->dev->sdev, SSB_TMSLOW); | ||
3521 | tmp &= ~SSB_TMSLOW_FGC; | ||
3522 | tmp |= B43_TMSLOW_PHYRESET; | ||
3523 | ssb_write32(dev->dev->sdev, SSB_TMSLOW, tmp); | ||
3524 | msleep(1); | ||
3485 | 3525 | ||
3486 | tmslow = ssb_read32(sdev, SSB_TMSLOW); | 3526 | break; |
3487 | tmslow &= ~SSB_TMSLOW_FGC; | 3527 | #endif |
3488 | tmslow |= B43_TMSLOW_PHYRESET; | 3528 | } |
3489 | ssb_write32(sdev, SSB_TMSLOW, tmslow); | ||
3490 | msleep(1); | ||
3491 | } | 3529 | } |
3492 | 3530 | ||
3493 | static const char *band_to_string(enum ieee80211_band band) | 3531 | static const char *band_to_string(enum ieee80211_band band) |
@@ -4347,7 +4385,6 @@ static void b43_wireless_core_exit(struct b43_wldev *dev) | |||
4347 | /* Initialize a wireless core */ | 4385 | /* Initialize a wireless core */ |
4348 | static int b43_wireless_core_init(struct b43_wldev *dev) | 4386 | static int b43_wireless_core_init(struct b43_wldev *dev) |
4349 | { | 4387 | { |
4350 | struct ssb_bus *bus = dev->sdev->bus; | ||
4351 | struct ssb_sprom *sprom = dev->dev->bus_sprom; | 4388 | struct ssb_sprom *sprom = dev->dev->bus_sprom; |
4352 | struct b43_phy *phy = &dev->phy; | 4389 | struct b43_phy *phy = &dev->phy; |
4353 | int err; | 4390 | int err; |
@@ -4366,7 +4403,14 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4366 | phy->ops->prepare_structs(dev); | 4403 | phy->ops->prepare_structs(dev); |
4367 | 4404 | ||
4368 | /* Enable IRQ routing to this device. */ | 4405 | /* Enable IRQ routing to this device. */ |
4369 | ssb_pcicore_dev_irqvecs_enable(&bus->pcicore, dev->sdev); | 4406 | switch (dev->dev->bus_type) { |
4407 | #ifdef CONFIG_B43_SSB | ||
4408 | case B43_BUS_SSB: | ||
4409 | ssb_pcicore_dev_irqvecs_enable(&dev->dev->sdev->bus->pcicore, | ||
4410 | dev->dev->sdev); | ||
4411 | break; | ||
4412 | #endif | ||
4413 | } | ||
4370 | 4414 | ||
4371 | b43_imcfglo_timeouts_workaround(dev); | 4415 | b43_imcfglo_timeouts_workaround(dev); |
4372 | b43_bluetooth_coext_disable(dev); | 4416 | b43_bluetooth_coext_disable(dev); |
@@ -4397,8 +4441,9 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4397 | if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW) | 4441 | if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW) |
4398 | hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */ | 4442 | hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */ |
4399 | #ifdef CONFIG_SSB_DRIVER_PCICORE | 4443 | #ifdef CONFIG_SSB_DRIVER_PCICORE |
4400 | if ((bus->bustype == SSB_BUSTYPE_PCI) && | 4444 | if (dev->dev->bus_type == B43_BUS_SSB && |
4401 | (bus->pcicore.dev->id.revision <= 10)) | 4445 | dev->dev->sdev->bus->bustype == SSB_BUSTYPE_PCI && |
4446 | dev->dev->sdev->bus->pcicore.dev->id.revision <= 10) | ||
4402 | hf |= B43_HF_PCISCW; /* PCI slow clock workaround. */ | 4447 | hf |= B43_HF_PCISCW; /* PCI slow clock workaround. */ |
4403 | #endif | 4448 | #endif |
4404 | hf &= ~B43_HF_SKCFPUP; | 4449 | hf &= ~B43_HF_SKCFPUP; |
@@ -4764,8 +4809,7 @@ static void b43_wireless_core_detach(struct b43_wldev *dev) | |||
4764 | static int b43_wireless_core_attach(struct b43_wldev *dev) | 4809 | static int b43_wireless_core_attach(struct b43_wldev *dev) |
4765 | { | 4810 | { |
4766 | struct b43_wl *wl = dev->wl; | 4811 | struct b43_wl *wl = dev->wl; |
4767 | struct ssb_bus *bus = dev->sdev->bus; | 4812 | struct pci_dev *pdev = NULL; |
4768 | struct pci_dev *pdev = (bus->bustype == SSB_BUSTYPE_PCI) ? bus->host_pci : NULL; | ||
4769 | int err; | 4813 | int err; |
4770 | bool have_2ghz_phy = 0, have_5ghz_phy = 0; | 4814 | bool have_2ghz_phy = 0, have_5ghz_phy = 0; |
4771 | 4815 | ||
@@ -4776,20 +4820,31 @@ static int b43_wireless_core_attach(struct b43_wldev *dev) | |||
4776 | * that in core_init(), too. | 4820 | * that in core_init(), too. |
4777 | */ | 4821 | */ |
4778 | 4822 | ||
4823 | #ifdef CONFIG_B43_SSB | ||
4824 | if (dev->dev->bus_type == B43_BUS_SSB && | ||
4825 | dev->dev->sdev->bus->bustype == SSB_BUSTYPE_PCI) | ||
4826 | pdev = dev->dev->sdev->bus->host_pci; | ||
4827 | #endif | ||
4828 | |||
4779 | err = b43_bus_powerup(dev, 0); | 4829 | err = b43_bus_powerup(dev, 0); |
4780 | if (err) { | 4830 | if (err) { |
4781 | b43err(wl, "Bus powerup failed\n"); | 4831 | b43err(wl, "Bus powerup failed\n"); |
4782 | goto out; | 4832 | goto out; |
4783 | } | 4833 | } |
4784 | /* Get the PHY type. */ | ||
4785 | if (dev->dev->core_rev >= 5) { | ||
4786 | u32 tmshigh; | ||
4787 | 4834 | ||
4788 | tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH); | 4835 | /* Get the PHY type. */ |
4789 | have_2ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY); | 4836 | switch (dev->dev->bus_type) { |
4790 | have_5ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_5GHZ_PHY); | 4837 | #ifdef CONFIG_B43_SSB |
4791 | } else | 4838 | case B43_BUS_SSB: |
4792 | B43_WARN_ON(1); | 4839 | if (dev->dev->core_rev >= 5) { |
4840 | u32 tmshigh = ssb_read32(dev->dev->sdev, SSB_TMSHIGH); | ||
4841 | have_2ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY); | ||
4842 | have_5ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_5GHZ_PHY); | ||
4843 | } else | ||
4844 | B43_WARN_ON(1); | ||
4845 | break; | ||
4846 | #endif | ||
4847 | } | ||
4793 | 4848 | ||
4794 | dev->phy.gmode = have_2ghz_phy; | 4849 | dev->phy.gmode = have_2ghz_phy; |
4795 | dev->phy.radio_on = 1; | 4850 | dev->phy.radio_on = 1; |
@@ -4898,7 +4953,6 @@ static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl) | |||
4898 | 4953 | ||
4899 | wldev->use_pio = b43_modparam_pio; | 4954 | wldev->use_pio = b43_modparam_pio; |
4900 | wldev->dev = dev; | 4955 | wldev->dev = dev; |
4901 | wldev->sdev = dev->sdev; /* TODO: Remove when not needed */ | ||
4902 | wldev->wl = wl; | 4956 | wldev->wl = wl; |
4903 | b43_set_status(wldev, B43_STAT_UNINIT); | 4957 | b43_set_status(wldev, B43_STAT_UNINIT); |
4904 | wldev->bad_frames_preempt = modparam_bad_frames_preempt; | 4958 | wldev->bad_frames_preempt = modparam_bad_frames_preempt; |
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index e7dfdac9e4d7..41aea6a49af9 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c | |||
@@ -603,17 +603,23 @@ static void b43_nphy_tx_lp_fbw(struct b43_wldev *dev) | |||
603 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/BmacPhyClkFgc */ | 603 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/BmacPhyClkFgc */ |
604 | static void b43_nphy_bmac_clock_fgc(struct b43_wldev *dev, bool force) | 604 | static void b43_nphy_bmac_clock_fgc(struct b43_wldev *dev, bool force) |
605 | { | 605 | { |
606 | u32 tmslow; | 606 | u32 tmp; |
607 | 607 | ||
608 | if (dev->phy.type != B43_PHYTYPE_N) | 608 | if (dev->phy.type != B43_PHYTYPE_N) |
609 | return; | 609 | return; |
610 | 610 | ||
611 | tmslow = ssb_read32(dev->sdev, SSB_TMSLOW); | 611 | switch (dev->dev->bus_type) { |
612 | if (force) | 612 | #ifdef CONFIG_B43_SSB |
613 | tmslow |= SSB_TMSLOW_FGC; | 613 | case B43_BUS_SSB: |
614 | else | 614 | tmp = ssb_read32(dev->dev->sdev, SSB_TMSLOW); |
615 | tmslow &= ~SSB_TMSLOW_FGC; | 615 | if (force) |
616 | ssb_write32(dev->sdev, SSB_TMSLOW, tmslow); | 616 | tmp |= SSB_TMSLOW_FGC; |
617 | else | ||
618 | tmp &= ~SSB_TMSLOW_FGC; | ||
619 | ssb_write32(dev->dev->sdev, SSB_TMSLOW, tmp); | ||
620 | break; | ||
621 | #endif | ||
622 | } | ||
617 | } | 623 | } |
618 | 624 | ||
619 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/CCA */ | 625 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/CCA */ |
@@ -958,8 +964,15 @@ static void b43_nphy_superswitch_init(struct b43_wldev *dev, bool init) | |||
958 | b43_phy_write(dev, B43_NPHY_GPIO_LOOEN, 0); | 964 | b43_phy_write(dev, B43_NPHY_GPIO_LOOEN, 0); |
959 | b43_phy_write(dev, B43_NPHY_GPIO_HIOEN, 0); | 965 | b43_phy_write(dev, B43_NPHY_GPIO_HIOEN, 0); |
960 | 966 | ||
961 | ssb_chipco_gpio_control(&dev->sdev->bus->chipco, 0xFC00, | 967 | switch (dev->dev->bus_type) { |
962 | 0xFC00); | 968 | #ifdef CONFIG_B43_SSB |
969 | case B43_BUS_SSB: | ||
970 | ssb_chipco_gpio_control(&dev->dev->sdev->bus->chipco, | ||
971 | 0xFC00, 0xFC00); | ||
972 | break; | ||
973 | #endif | ||
974 | } | ||
975 | |||
963 | b43_write32(dev, B43_MMIO_MACCTL, | 976 | b43_write32(dev, B43_MMIO_MACCTL, |
964 | b43_read32(dev, B43_MMIO_MACCTL) & | 977 | b43_read32(dev, B43_MMIO_MACCTL) & |
965 | ~B43_MACCTL_GPOUTSMSK); | 978 | ~B43_MACCTL_GPOUTSMSK); |
@@ -3600,7 +3613,14 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3600 | if ((dev->phy.rev >= 3) && | 3613 | if ((dev->phy.rev >= 3) && |
3601 | (sprom->boardflags_lo & B43_BFL_EXTLNA) && | 3614 | (sprom->boardflags_lo & B43_BFL_EXTLNA) && |
3602 | (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)) { | 3615 | (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)) { |
3603 | chipco_set32(&dev->sdev->bus->chipco, SSB_CHIPCO_CHIPCTL, 0x40); | 3616 | switch (dev->dev->bus_type) { |
3617 | #ifdef CONFIG_B43_SSB | ||
3618 | case B43_BUS_SSB: | ||
3619 | chipco_set32(&dev->dev->sdev->bus->chipco, | ||
3620 | SSB_CHIPCO_CHIPCTL, 0x40); | ||
3621 | break; | ||
3622 | #endif | ||
3623 | } | ||
3604 | } | 3624 | } |
3605 | nphy->deaf_count = 0; | 3625 | nphy->deaf_count = 0; |
3606 | b43_nphy_tables_init(dev); | 3626 | b43_nphy_tables_init(dev); |