headers: remove sched.h from interrupt.h
[safe/jmp/linux-2.6] / drivers / net / wireless / b43legacy / main.c
index c4973c1..4b60148 100644 (file)
@@ -37,6 +37,7 @@
 #include <linux/firmware.h>
 #include <linux/wireless.h>
 #include <linux/workqueue.h>
+#include <linux/sched.h>
 #include <linux/skbuff.h>
 #include <linux/dma-mapping.h>
 #include <net/dst.h>
@@ -1252,7 +1253,7 @@ static void b43legacy_update_templates(struct b43legacy_wl *wl)
        wl->current_beacon = beacon;
        wl->beacon0_uploaded = 0;
        wl->beacon1_uploaded = 0;
-       queue_work(wl->hw->workqueue, &wl->beacon_update_trigger);
+       ieee80211_queue_work(wl->hw, &wl->beacon_update_trigger);
 }
 
 static void b43legacy_set_beacon_int(struct b43legacy_wldev *dev,
@@ -2300,7 +2301,7 @@ out_requeue:
                delay = msecs_to_jiffies(50);
        else
                delay = round_jiffies_relative(HZ * 15);
-       queue_delayed_work(wl->hw->workqueue, &dev->periodic_work, delay);
+       ieee80211_queue_delayed_work(wl->hw, &dev->periodic_work, delay);
 out:
        mutex_unlock(&wl->mutex);
 }
@@ -2311,7 +2312,7 @@ static void b43legacy_periodic_tasks_setup(struct b43legacy_wldev *dev)
 
        dev->periodic_state = 0;
        INIT_DELAYED_WORK(work, b43legacy_periodic_work_handler);
-       queue_delayed_work(dev->wl->hw->workqueue, work, 0);
+       ieee80211_queue_delayed_work(dev->wl->hw, work, 0);
 }
 
 /* Validate access to the chip (SHM) */
@@ -2836,9 +2837,7 @@ static void b43legacy_op_bss_info_changed(struct ieee80211_hw *hw,
 
 static void b43legacy_op_configure_filter(struct ieee80211_hw *hw,
                                          unsigned int changed,
-                                         unsigned int *fflags,
-                                         int mc_count,
-                                         struct dev_addr_list *mc_list)
+                                         unsigned int *fflags,u64 multicast)
 {
        struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
        struct b43legacy_wldev *dev = wl->current_dev;
@@ -3108,16 +3107,20 @@ static void b43legacy_imcfglo_timeouts_workaround(struct b43legacy_wldev *dev)
            bus->pcicore.dev->id.revision <= 5) {
                /* IMCFGLO timeouts workaround. */
                tmp = ssb_read32(dev->dev, SSB_IMCFGLO);
-               tmp &= ~SSB_IMCFGLO_REQTO;
-               tmp &= ~SSB_IMCFGLO_SERTO;
                switch (bus->bustype) {
                case SSB_BUSTYPE_PCI:
                case SSB_BUSTYPE_PCMCIA:
+                       tmp &= ~SSB_IMCFGLO_REQTO;
+                       tmp &= ~SSB_IMCFGLO_SERTO;
                        tmp |= 0x32;
                        break;
                case SSB_BUSTYPE_SSB:
+                       tmp &= ~SSB_IMCFGLO_REQTO;
+                       tmp &= ~SSB_IMCFGLO_SERTO;
                        tmp |= 0x53;
                        break;
+               default:
+                       break;
                }
                ssb_write32(dev->dev, SSB_IMCFGLO, tmp);
        }
@@ -3885,7 +3888,7 @@ void b43legacy_controller_restart(struct b43legacy_wldev *dev,
        if (b43legacy_status(dev) < B43legacy_STAT_INITIALIZED)
                return;
        b43legacyinfo(dev->wl, "Controller RESET (%s) ...\n", reason);
-       queue_work(dev->wl->hw->workqueue, &dev->restart_work);
+       ieee80211_queue_work(dev->wl->hw, &dev->restart_work);
 }
 
 #ifdef CONFIG_PM