aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2011-12-12 18:15:07 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-12-13 15:48:19 -0500
commit937642f55ef7f8b9dcb202754d53853c7b36e15f (patch)
tree0f5d3506c30322e97964b4e2bd0613ea95676465 /drivers/net/wireless
parenta232c8a12a0fe55a2e671d24626c98a21b57a332 (diff)
brcm80211: smac: remove interrupt disable callback functionality
There is no need to interrupt disable/enable functionality any longer due to BCMA usage assures the correct core is accessed in any context. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Alwin Beukers <alwin@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/aiutils.c27
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/aiutils.h4
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/main.c26
3 files changed, 0 insertions, 57 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
index 3a78f5f8db7..86e33f95377 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
@@ -818,33 +818,6 @@ void ai_detach(struct si_pub *sih)
818 kfree(sii); 818 kfree(sii);
819} 819}
820 820
821/* register driver interrupt disabling and restoring callback functions */
822void
823ai_register_intr_callback(struct si_pub *sih, void *intrsoff_fn,
824 void *intrsrestore_fn,
825 void *intrsenabled_fn, void *intr_arg)
826{
827 struct si_info *sii;
828
829 sii = (struct si_info *)sih;
830 sii->intr_arg = intr_arg;
831 sii->intrsoff_fn = (u32 (*)(void *)) intrsoff_fn;
832 sii->intrsrestore_fn = (void (*) (void *, u32)) intrsrestore_fn;
833 sii->intrsenabled_fn = (bool (*)(void *)) intrsenabled_fn;
834 /* save current core id. when this function called, the current core
835 * must be the core which provides driver functions(il, et, wl, etc.)
836 */
837 sii->dev_coreid = sii->coreid[sii->curidx];
838}
839
840void ai_deregister_intr_callback(struct si_pub *sih)
841{
842 struct si_info *sii;
843
844 sii = (struct si_info *)sih;
845 sii->intrsoff_fn = NULL;
846}
847
848uint ai_coreid(struct si_pub *sih) 821uint ai_coreid(struct si_pub *sih)
849{ 822{
850 struct si_info *sii; 823 struct si_info *sii;
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
index b0b0bfffe16..8c513456643 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
+++ b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
@@ -238,10 +238,6 @@ extern void __iomem *ai_switch_core(struct si_pub *sih, uint coreid,
238 uint *origidx, uint *intr_val); 238 uint *origidx, uint *intr_val);
239extern void ai_restore_core(struct si_pub *sih, uint coreid, uint intr_val); 239extern void ai_restore_core(struct si_pub *sih, uint coreid, uint intr_val);
240extern void ai_pci_setup(struct si_pub *sih, uint coremask); 240extern void ai_pci_setup(struct si_pub *sih, uint coremask);
241extern void ai_register_intr_callback(struct si_pub *sih, void *intrsoff_fn,
242 void *intrsrestore_fn,
243 void *intrsenabled_fn, void *intr_arg);
244extern void ai_deregister_intr_callback(struct si_pub *sih);
245extern void ai_clkctl_init(struct si_pub *sih); 241extern void ai_clkctl_init(struct si_pub *sih);
246extern u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih); 242extern u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih);
247extern bool ai_clkctl_cc(struct si_pub *sih, uint mode); 243extern bool ai_clkctl_cc(struct si_pub *sih, uint mode);
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
index d974809fafc..1c75e2f52d2 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
@@ -2370,27 +2370,6 @@ void brcms_c_intrson(struct brcms_c_info *wlc)
2370 bcma_write32(wlc_hw->d11core, D11REGOFFS(macintmask), wlc->macintmask); 2370 bcma_write32(wlc_hw->d11core, D11REGOFFS(macintmask), wlc->macintmask);
2371} 2371}
2372 2372
2373/*
2374 * callback for siutils.c, which has only wlc handler, no wl they both check
2375 * up, not only because there is no need to off/restore d11 interrupt but also
2376 * because per-port code may require sync with valid interrupt.
2377 */
2378static u32 brcms_c_wlintrsoff(struct brcms_c_info *wlc)
2379{
2380 if (!wlc->hw->up)
2381 return 0;
2382
2383 return brcms_intrsoff(wlc->wl);
2384}
2385
2386static void brcms_c_wlintrsrestore(struct brcms_c_info *wlc, u32 macintmask)
2387{
2388 if (!wlc->hw->up)
2389 return;
2390
2391 brcms_intrsrestore(wlc->wl, macintmask);
2392}
2393
2394u32 brcms_c_intrsoff(struct brcms_c_info *wlc) 2373u32 brcms_c_intrsoff(struct brcms_c_info *wlc)
2395{ 2374{
2396 struct brcms_hardware *wlc_hw = wlc->hw; 2375 struct brcms_hardware *wlc_hw = wlc->hw;
@@ -4712,10 +4691,6 @@ static int brcms_b_attach(struct brcms_c_info *wlc, struct bcma_device *core,
4712 /* Match driver "down" state */ 4691 /* Match driver "down" state */
4713 ai_pci_down(wlc_hw->sih); 4692 ai_pci_down(wlc_hw->sih);
4714 4693
4715 /* register sb interrupt callback functions */
4716 ai_register_intr_callback(wlc_hw->sih, (void *)brcms_c_wlintrsoff,
4717 (void *)brcms_c_wlintrsrestore, NULL, wlc);
4718
4719 /* turn off pll and xtal to match driver "down" state */ 4694 /* turn off pll and xtal to match driver "down" state */
4720 brcms_b_xtal(wlc_hw, OFF); 4695 brcms_b_xtal(wlc_hw, OFF);
4721 4696
@@ -4986,7 +4961,6 @@ static int brcms_b_detach(struct brcms_c_info *wlc)
4986 * and per-port interrupt object may has been freed. this must 4961 * and per-port interrupt object may has been freed. this must
4987 * be done before sb core switch 4962 * be done before sb core switch
4988 */ 4963 */
4989 ai_deregister_intr_callback(wlc_hw->sih);
4990 ai_pci_sleep(wlc_hw->sih); 4964 ai_pci_sleep(wlc_hw->sih);
4991 } 4965 }
4992 4966