brcm80211: smac: remove interrupt disable callback functionality
authorArend van Spriel <arend@broadcom.com>
Mon, 12 Dec 2011 23:15:07 +0000 (15:15 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 13 Dec 2011 20:48:19 +0000 (15:48 -0500)
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>
drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
drivers/net/wireless/brcm80211/brcmsmac/main.c

index 3a78f5f8db7d848bef649ba0d0c8b595f9db50ac..86e33f953770c4f43b1732d88a2cc2b9976ff5d0 100644 (file)
@@ -818,33 +818,6 @@ void ai_detach(struct si_pub *sih)
        kfree(sii);
 }
 
-/* register driver interrupt disabling and restoring callback functions */
-void
-ai_register_intr_callback(struct si_pub *sih, void *intrsoff_fn,
-                         void *intrsrestore_fn,
-                         void *intrsenabled_fn, void *intr_arg)
-{
-       struct si_info *sii;
-
-       sii = (struct si_info *)sih;
-       sii->intr_arg = intr_arg;
-       sii->intrsoff_fn = (u32 (*)(void *)) intrsoff_fn;
-       sii->intrsrestore_fn = (void (*) (void *, u32)) intrsrestore_fn;
-       sii->intrsenabled_fn = (bool (*)(void *)) intrsenabled_fn;
-       /* save current core id.  when this function called, the current core
-        * must be the core which provides driver functions(il, et, wl, etc.)
-        */
-       sii->dev_coreid = sii->coreid[sii->curidx];
-}
-
-void ai_deregister_intr_callback(struct si_pub *sih)
-{
-       struct si_info *sii;
-
-       sii = (struct si_info *)sih;
-       sii->intrsoff_fn = NULL;
-}
-
 uint ai_coreid(struct si_pub *sih)
 {
        struct si_info *sii;
index b0b0bfffe162c8adfd2a2930b92504a19c9416d6..8c513456643f4c0d0b68a39d35854820074f1af5 100644 (file)
@@ -238,10 +238,6 @@ extern void __iomem *ai_switch_core(struct si_pub *sih, uint coreid,
                                    uint *origidx, uint *intr_val);
 extern void ai_restore_core(struct si_pub *sih, uint coreid, uint intr_val);
 extern void ai_pci_setup(struct si_pub *sih, uint coremask);
-extern void ai_register_intr_callback(struct si_pub *sih, void *intrsoff_fn,
-                                     void *intrsrestore_fn,
-                                     void *intrsenabled_fn, void *intr_arg);
-extern void ai_deregister_intr_callback(struct si_pub *sih);
 extern void ai_clkctl_init(struct si_pub *sih);
 extern u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih);
 extern bool ai_clkctl_cc(struct si_pub *sih, uint mode);
index d974809fafc37aac70077a780c29ae7bab750db6..1c75e2f52d2058105c43e9f3bc5c72d9e2541b8e 100644 (file)
@@ -2370,27 +2370,6 @@ void brcms_c_intrson(struct brcms_c_info *wlc)
        bcma_write32(wlc_hw->d11core, D11REGOFFS(macintmask), wlc->macintmask);
 }
 
-/*
- * callback for siutils.c, which has only wlc handler, no wl they both check
- * up, not only because there is no need to off/restore d11 interrupt but also
- * because per-port code may require sync with valid interrupt.
- */
-static u32 brcms_c_wlintrsoff(struct brcms_c_info *wlc)
-{
-       if (!wlc->hw->up)
-               return 0;
-
-       return brcms_intrsoff(wlc->wl);
-}
-
-static void brcms_c_wlintrsrestore(struct brcms_c_info *wlc, u32 macintmask)
-{
-       if (!wlc->hw->up)
-               return;
-
-       brcms_intrsrestore(wlc->wl, macintmask);
-}
-
 u32 brcms_c_intrsoff(struct brcms_c_info *wlc)
 {
        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,
        /* Match driver "down" state */
        ai_pci_down(wlc_hw->sih);
 
-       /* register sb interrupt callback functions */
-       ai_register_intr_callback(wlc_hw->sih, (void *)brcms_c_wlintrsoff,
-                                 (void *)brcms_c_wlintrsrestore, NULL, wlc);
-
        /* turn off pll and xtal to match driver "down" state */
        brcms_b_xtal(wlc_hw, OFF);
 
@@ -4986,7 +4961,6 @@ static int brcms_b_detach(struct brcms_c_info *wlc)
                 * and per-port interrupt object may has been freed. this must
                 * be done before sb core switch
                 */
-               ai_deregister_intr_callback(wlc_hw->sih);
                ai_pci_sleep(wlc_hw->sih);
        }