]> git.hungrycats.org Git - linux/commitdiff
Update wireless net drivers wavelan and wavelan_cs to directly
authorJeff Garzik <jgarzik@mandrakesoft.com>
Thu, 21 Feb 2002 03:26:29 +0000 (22:26 -0500)
committerJeff Garzik <jgarzik@mandrakesoft.com>
Thu, 21 Feb 2002 03:26:29 +0000 (22:26 -0500)
use spin_[un]lock_irq{save,restore}, instead of defining static
inline functions to do the same thing (but possibly in a non-portable
way).

drivers/net/wireless/wavelan.c
drivers/net/wireless/wavelan.p.h
drivers/net/wireless/wavelan_cs.c
drivers/net/wireless/wavelan_cs.p.h

index b35567e8c577a0c3ae25e558dc9ad03fc144956e..cd2471a4d1df2f223f1f785ff0e4bac649e9b730 100644 (file)
  * (WaveLAN modem or i82586)
  */
 
-/*------------------------------------------------------------------*/
-/*
- * Wrapper for disabling interrupts and locking the driver.
- * (note : inline, so optimised away)
- */
-static inline void wv_splhi(net_local *                lp,
-                           unsigned long *     pflags)
-{
-       spin_lock_irqsave(&lp->spinlock, *pflags);
-       /* Note : above does the cli(); itself */
-}
-
-/*------------------------------------------------------------------*/
-/*
- * Wrapper for re-enabling interrupts and un-locking the driver.
- */
-static inline void wv_splx(net_local *         lp,
-                          unsigned long *      pflags)
-{
-       spin_unlock_irqrestore(&lp->spinlock, *pflags);
-}
-
 /*------------------------------------------------------------------*/
 /*
  * Translate irq number to PSA irq parameter
@@ -870,10 +848,10 @@ static inline void wv_82586_reconfig(device * dev)
 
        /* Check if we can do it now ! */
        if((netif_running(dev)) && !(netif_queue_stopped(dev))) {
-               wv_splhi(lp, &flags);
+               spin_lock_irqsave(&lp->spinlock, flags);
                /* May fail */
                wv_82586_config(dev);
-               wv_splx(lp, &flags);
+               spin_unlock_irqrestore(&lp->spinlock, flags);
        }
        else {
 #ifdef DEBUG_CONFIG_INFO
@@ -1814,7 +1792,7 @@ static int wavelan_set_nwid(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Set NWID in WaveLAN. */
        if (!wrqu->nwid.disabled) {
@@ -1851,7 +1829,7 @@ static int wavelan_set_nwid(struct net_device *dev,
        update_psa_checksum(dev, ioaddr, lp->hacr);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -1872,7 +1850,7 @@ static int wavelan_get_nwid(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Read the NWID. */
        psa_read(ioaddr, lp->hacr,
@@ -1883,7 +1861,7 @@ static int wavelan_get_nwid(struct net_device *dev,
        wrqu->nwid.fixed = 1;   /* Superfluous */
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -1903,7 +1881,7 @@ static int wavelan_set_freq(struct net_device *dev,
        int ret;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable). */
        if (!(mmc_in(ioaddr, mmroff(0, mmr_fee_status)) &
@@ -1913,7 +1891,7 @@ static int wavelan_set_freq(struct net_device *dev,
                ret = -EOPNOTSUPP;
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -1934,7 +1912,7 @@ static int wavelan_get_freq(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable).
         * Does it work for everybody, especially old cards? */
@@ -1959,7 +1937,7 @@ static int wavelan_get_freq(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -1980,7 +1958,7 @@ static int wavelan_set_sens(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Set the level threshold. */
        /* We should complain loudly if wrqu->sens.fixed = 0, because we
@@ -1995,7 +1973,7 @@ static int wavelan_set_sens(struct net_device *dev,
                psa.psa_thr_pre_set);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2016,7 +1994,7 @@ static int wavelan_get_sens(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Read the level threshold. */
        psa_read(ioaddr, lp->hacr,
@@ -2026,7 +2004,7 @@ static int wavelan_get_sens(struct net_device *dev,
        wrqu->sens.fixed = 1;
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2047,7 +2025,7 @@ static int wavelan_set_encode(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
 
        /* Check if capable of encryption */
        if (!mmc_encr(ioaddr)) {
@@ -2096,7 +2074,7 @@ static int wavelan_set_encode(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2117,7 +2095,7 @@ static int wavelan_get_encode(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Check if encryption is available */
        if (!mmc_encr(ioaddr)) {
@@ -2143,7 +2121,7 @@ static int wavelan_get_encode(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2191,7 +2169,7 @@ static int wavelan_get_range(struct net_device *dev,
        range->bitrate[0] = 2000000;    /* 2 Mb/s */
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable). */
        if (!(mmc_in(ioaddr, mmroff(0, mmr_fee_status)) &
@@ -2213,7 +2191,7 @@ static int wavelan_get_range(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2320,7 +2298,7 @@ static int wavelan_set_qthr(struct net_device *dev,
        unsigned long flags;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        psa.psa_quality_thr = *(extra) & 0x0F;
        psa_write(ioaddr, lp->hacr,
@@ -2332,7 +2310,7 @@ static int wavelan_set_qthr(struct net_device *dev,
                psa.psa_quality_thr);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return 0;
 }
@@ -2352,7 +2330,7 @@ static int wavelan_get_qthr(struct net_device *dev,
        unsigned long flags;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        psa_read(ioaddr, lp->hacr,
                 (char *) &psa.psa_quality_thr - (char *) &psa,
@@ -2360,7 +2338,7 @@ static int wavelan_get_qthr(struct net_device *dev,
        *(extra) = psa.psa_quality_thr & 0x0F;
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return 0;
 }
@@ -2541,7 +2519,7 @@ static iw_stats *wavelan_get_wireless_stats(device * dev)
                return (iw_stats *) NULL;
        
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        wstats = &lp->wstats;
 
@@ -2569,7 +2547,7 @@ static iw_stats *wavelan_get_wireless_stats(device * dev)
        wstats->discard.misc = 0L;
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
 #ifdef DEBUG_IOCTL_TRACE
        printk(KERN_DEBUG "%s: <-wavelan_get_wireless_stats()\n",
@@ -2903,7 +2881,7 @@ static inline int wv_packet_write(device * dev, void *buf, short length)
        if (clen < ETH_ZLEN)
                clen = ETH_ZLEN;
 
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
 
        /* Check nothing bad has happened */
        if (lp->tx_n_in_use == (NTXBLOCKS - 1)) {
@@ -2911,7 +2889,7 @@ static inline int wv_packet_write(device * dev, void *buf, short length)
                printk(KERN_INFO "%s: wv_packet_write(): Tx queue full.\n",
                       dev->name);
 #endif
-               wv_splx(lp, &flags);
+               spin_unlock_irqrestore(&lp->spinlock, flags);
                return 1;
        }
 
@@ -2989,7 +2967,7 @@ static inline int wv_packet_write(device * dev, void *buf, short length)
        if (lp->tx_n_in_use < NTXBLOCKS - 1)
                netif_wake_queue(dev);
 
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
        
 #ifdef DEBUG_TX_INFO
        wv_packet_info((u8 *) buf, length, dev->name,
@@ -3030,9 +3008,9 @@ static int wavelan_packet_xmit(struct sk_buff *skb, device * dev)
         * we can do it now.
         */
        if (lp->reconfig_82586) {
-               wv_splhi(lp, &flags);
+               spin_lock_irqsave(&lp->spinlock, flags);
                wv_82586_config(dev);
-               wv_splx(lp, &flags);
+               spin_unlock_irqrestore(&lp->spinlock, flags);
                /* Check that we can continue */
                if (lp->tx_n_in_use == (NTXBLOCKS - 1))
                        return 1;
@@ -3892,7 +3870,7 @@ static void wavelan_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 
        /* Prevent reentrancy. We need to do that because we may have
         * multiple interrupt handler running concurrently.
-        * It is safe because wv_splhi() disables interrupts before acquiring
+        * It is safe because interrupts are disabled before acquiring
         * the spinlock. */
        spin_lock(&lp->spinlock);
 
@@ -4020,7 +3998,7 @@ static void wavelan_watchdog(device *     dev)
                return;
        }
 
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
 
        /* Try to see if some buffers are not free (in case we missed
         * an interrupt */
@@ -4060,7 +4038,7 @@ static void wavelan_watchdog(device *     dev)
        if (lp->tx_n_in_use < NTXBLOCKS - 1)
                netif_wake_queue(dev);
 
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
        
 #ifdef DEBUG_INTERRUPT_TRACE
        printk(KERN_DEBUG "%s: <-wavelan_watchdog()\n", dev->name);
@@ -4107,7 +4085,7 @@ static int wavelan_open(device * dev)
                return -EAGAIN;
        }
 
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        if (wv_hw_reset(dev) != -1) {
                netif_start_queue(dev);
@@ -4118,10 +4096,10 @@ static int wavelan_open(device * dev)
                       "%s: wavelan_open(): impossible to start the card\n",
                       dev->name);
 #endif
-               wv_splx(lp, &flags);
+               spin_unlock_irqrestore(&lp->spinlock, flags);
                return -EAGAIN;
        }
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
        
 #ifdef DEBUG_CALLBACK_TRACE
        printk(KERN_DEBUG "%s: <-wavelan_open()\n", dev->name);
@@ -4149,9 +4127,9 @@ static int wavelan_close(device * dev)
        /*
         * Flush the Tx and disable Rx.
         */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        wv_82586_stop(dev);
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        free_irq(dev->irq, dev);
 
index afda9f61371b8775610a8091e009724a29c962c2..44deacab921fb327d53cd71512b7717534fc9f6d 100644 (file)
@@ -521,12 +521,6 @@ struct net_local
 /**************************** PROTOTYPES ****************************/
 
 /* ----------------------- MISC. SUBROUTINES ------------------------ */
-static inline void
-       wv_splhi(net_local *,           /* Disable interrupts, lock driver */
-                unsigned long *);      /* flags */
-static inline void
-       wv_splx(net_local *,            /* Enable interrupts, unlock driver */
-               unsigned long *);       /* flags */
 static u_char
        wv_irq_to_psa(int);
 static int
index 05688ca681145e8c1fe816ed15880e91d018db12..ef423eadb9815bc88ced0894080c8a3cb0646126 100644 (file)
  * (wavelan modem or i82593)
  */
 
-/*------------------------------------------------------------------*/
-/*
- * Wrapper for disabling interrupts.
- * (note : inline, so optimised away)
- */
-static inline void
-wv_splhi(net_local *           lp,
-        unsigned long *        pflags)
-{
-  spin_lock_irqsave(&lp->spinlock, *pflags);
-  /* Note : above does the cli(); itself */
-}
-
-/*------------------------------------------------------------------*/
-/*
- * Wrapper for re-enabling interrupts.
- */
-static inline void
-wv_splx(net_local *            lp,
-       unsigned long *         pflags)
-{
-  spin_unlock_irqrestore(&lp->spinlock, *pflags);
-
-  /* Note : enabling interrupts on the hardware is done in wv_ru_start()
-   * via : outb(OP1_INT_ENABLE, LCCR(base));
-   */
-}
-
 /*------------------------------------------------------------------*/
 /*
  * Wrapper for reporting error to cardservices
@@ -591,7 +563,7 @@ void wv_nwid_filter(unsigned char mode, net_local *lp)
 #endif
   
   /* Disable interrupts & save flags */
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
   
   m.w.mmw_loopt_sel = (mode==NWID_PROMISC) ? MMW_LOOPT_SEL_DIS_NWID : 0x00;
   mmc_write(lp->dev->base_addr, (char *)&m.w.mmw_loopt_sel - (char *)&m, (unsigned char *)&m.w.mmw_loopt_sel, 1);
@@ -602,7 +574,7 @@ void wv_nwid_filter(unsigned char mode, net_local *lp)
     lp->cell_search=0;
 
   /* ReEnable interrupts & restore flags */
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 }
 
 /* Find a record in the WavePoint table matching a given NWID */
@@ -771,7 +743,7 @@ void wv_roam_handover(wavepoint_history *wavepoint, net_local *lp)
 #endif
        
   /* Disable interrupts & save flags */
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   m.w.mmw_netw_id_l = wavepoint->nwid & 0xFF;
   m.w.mmw_netw_id_h = (wavepoint->nwid & 0xFF00) >> 8;
@@ -779,7 +751,7 @@ void wv_roam_handover(wavepoint_history *wavepoint, net_local *lp)
   mmc_write(base, (char *)&m.w.mmw_netw_id_l - (char *)&m, (unsigned char *)&m.w.mmw_netw_id_l, 2);
   
   /* ReEnable interrupts & restore flags */
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
   wv_nwid_filter(!NWID_PROMISC,lp);
   lp->curr_point=wavepoint;
@@ -1049,9 +1021,9 @@ wv_82593_reconfig(device *        dev)
   /* Check if we can do it now ! */
   if((link->open) && (netif_running(dev)) && !(netif_queue_stopped(dev)))
     {
-      wv_splhi(lp, &flags);    /* Disable interrupts */
+      spin_lock_irqsave(&lp->spinlock, flags); /* Disable interrupts */
       wv_82593_config(dev);
-      wv_splx(lp, &flags);     /* Re-enable interrupts */
+      spin_unlock_irqrestore(&lp->spinlock, flags);    /* Re-enable interrupts */
     }
   else
     {
@@ -1179,7 +1151,7 @@ wv_mmc_show(device *      dev)
       return;
     }
 
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   /* Read the mmc */
   mmc_out(base, mmwoff(0, mmw_freeze), 1);
@@ -1191,7 +1163,7 @@ wv_mmc_show(device *      dev)
   lp->wstats.discard.nwid += (m.mmr_wrong_nwid_h << 8) | m.mmr_wrong_nwid_l;
 #endif /* WIRELESS_EXT */
 
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
   printk(KERN_DEBUG "##### wavelan modem status registers: #####\n");
 #ifdef DEBUG_SHOW_UNUSED
@@ -1912,7 +1884,7 @@ static int wavelan_set_nwid(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Set NWID in WaveLAN. */
 #if WIRELESS_EXT > 8
@@ -1956,7 +1928,7 @@ static int wavelan_set_nwid(struct net_device *dev,
        update_psa_checksum(dev);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -1976,7 +1948,7 @@ static int wavelan_get_nwid(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Read the NWID. */
        psa_read(dev,
@@ -1992,7 +1964,7 @@ static int wavelan_get_nwid(struct net_device *dev,
 #endif /* WIRELESS_EXT > 8 */
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2012,7 +1984,7 @@ static int wavelan_set_freq(struct net_device *dev,
        int ret;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable). */
        if (!(mmc_in(base, mmroff(0, mmr_fee_status)) &
@@ -2022,7 +1994,7 @@ static int wavelan_set_freq(struct net_device *dev,
                ret = -EOPNOTSUPP;
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2043,7 +2015,7 @@ static int wavelan_get_freq(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable).
         * Does it work for everybody, especially old cards? */
@@ -2068,7 +2040,7 @@ static int wavelan_get_freq(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2089,7 +2061,7 @@ static int wavelan_set_sens(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Set the level threshold. */
 #if WIRELESS_EXT > 7
@@ -2108,7 +2080,7 @@ static int wavelan_set_sens(struct net_device *dev,
                psa.psa_thr_pre_set);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2128,7 +2100,7 @@ static int wavelan_get_sens(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Read the level threshold. */
        psa_read(dev,
@@ -2142,7 +2114,7 @@ static int wavelan_get_sens(struct net_device *dev,
 #endif /* WIRELESS_EXT > 7 */
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2164,7 +2136,7 @@ static int wavelan_set_encode(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
 
        /* Check if capable of encryption */
        if (!mmc_encr(base)) {
@@ -2213,7 +2185,7 @@ static int wavelan_set_encode(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2234,7 +2206,7 @@ static int wavelan_get_encode(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Check if encryption is available */
        if (!mmc_encr(base)) {
@@ -2260,7 +2232,7 @@ static int wavelan_get_encode(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2282,7 +2254,7 @@ static int wavelan_set_essid(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Check if disable */
        if(wrqu->data.flags == 0)
@@ -2311,7 +2283,7 @@ static int wavelan_set_essid(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2397,7 +2369,7 @@ static int wavelan_set_mode(struct net_device *dev,
        int ret = 0;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
 
        /* Check mode */
        switch(wrqu->mode) {
@@ -2418,7 +2390,7 @@ static int wavelan_set_mode(struct net_device *dev,
        }
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2491,7 +2463,7 @@ static int wavelan_get_range(struct net_device *dev,
 #endif /* WIRELESS_EXT > 7 */
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable). */
        if (!(mmc_in(base, mmroff(0, mmr_fee_status)) &
@@ -2515,7 +2487,7 @@ static int wavelan_get_range(struct net_device *dev,
 #endif /* WIRELESS_EXT > 8 */
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return ret;
 }
@@ -2622,7 +2594,7 @@ static int wavelan_set_qthr(struct net_device *dev,
        unsigned long flags;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        psa.psa_quality_thr = *(extra) & 0x0F;
        psa_write(dev,
@@ -2634,7 +2606,7 @@ static int wavelan_set_qthr(struct net_device *dev,
                psa.psa_quality_thr);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return 0;
 }
@@ -2653,7 +2625,7 @@ static int wavelan_get_qthr(struct net_device *dev,
        unsigned long flags;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        psa_read(dev,
                 (char *) &psa.psa_quality_thr - (char *) &psa,
@@ -2661,7 +2633,7 @@ static int wavelan_get_qthr(struct net_device *dev,
        *(extra) = psa.psa_quality_thr & 0x0F;
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return 0;
 }
@@ -2680,7 +2652,7 @@ static int wavelan_set_roam(struct net_device *dev,
        unsigned long flags;
 
        /* Disable interrupts and save flags. */
-       wv_splhi(lp, &flags);
+       spin_lock_irqsave(&lp->spinlock, flags);
        
        /* Note : should check if user == root */
        if(do_roaming && (*extra)==0)
@@ -2691,7 +2663,7 @@ static int wavelan_set_roam(struct net_device *dev,
        do_roaming = (*extra);
 
        /* Enable interrupts and restore flags. */
-       wv_splx(lp, &flags);
+       spin_unlock_irqrestore(&lp->spinlock, flags);
 
        return 0;
 }
@@ -3221,7 +3193,7 @@ wavelan_get_wireless_stats(device *       dev)
 #endif
 
   /* Disable interrupts & save flags */
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   wstats = &lp->wstats;
 
@@ -3247,7 +3219,7 @@ wavelan_get_wireless_stats(device *       dev)
   wstats->discard.misc = 0L;
 
   /* ReEnable interrupts & restore flags */
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
 #ifdef DEBUG_IOCTL_TRACE
   printk(KERN_DEBUG "%s: <-wavelan_get_wireless_stats()\n", dev->name);
@@ -3583,7 +3555,7 @@ wv_packet_write(device *  dev,
   printk(KERN_DEBUG "%s: ->wv_packet_write(%d)\n", dev->name, length);
 #endif
 
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   /* Check if we need some padding */
   if(clen < ETH_ZLEN)
@@ -3613,7 +3585,7 @@ wv_packet_write(device *  dev,
   /* Keep stats up to date */
   lp->stats.tx_bytes += length;
 
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
 #ifdef DEBUG_TX_INFO
   wv_packet_info((u_char *) buf, length, dev->name, "wv_packet_write");
@@ -3653,9 +3625,9 @@ wavelan_packet_xmit(struct sk_buff *      skb,
    * we can do it now */
   if(lp->reconfig_82593)
     {
-      wv_splhi(lp, &flags);    /* Disable interrupts */
+      spin_lock_irqsave(&lp->spinlock, flags); /* Disable interrupts */
       wv_82593_config(dev);
-      wv_splx(lp, &flags);     /* Re-enable interrupts */
+      spin_unlock_irqrestore(&lp->spinlock, flags);    /* Re-enable interrupts */
       /* Note : the configure procedure was totally synchronous,
        * so the Tx buffer is now free */
     }
@@ -3892,7 +3864,7 @@ wv_ru_stop(device *       dev)
   printk(KERN_DEBUG "%s: ->wv_ru_stop()\n", dev->name);
 #endif
 
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   /* First, send the LAN controller a stop receive command */
   wv_82593_cmd(dev, "wv_graceful_shutdown(): stop-rcv",
@@ -3917,7 +3889,7 @@ wv_ru_stop(device *       dev)
     }
   while(((status & SR3_EXEC_STATE_MASK) != SR3_EXEC_IDLE) && (spin-- > 0));
 
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
   /* If there was a problem */
   if(spin <= 0)
@@ -3961,7 +3933,7 @@ wv_ru_start(device *      dev)
   if(!wv_ru_stop(dev))
     return FALSE;
 
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   /* Now we know that no command is being executed. */
 
@@ -4016,7 +3988,7 @@ wv_ru_start(device *      dev)
   }
 #endif
 
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
 #ifdef DEBUG_CONFIG_TRACE
   printk(KERN_DEBUG "%s: <-wv_ru_start()\n", dev->name);
@@ -4292,7 +4264,7 @@ wv_hw_config(device *     dev)
     return FALSE;
 
   /* Disable interrupts */
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   /* Disguised goto ;-) */
   do
@@ -4357,7 +4329,7 @@ wv_hw_config(device *     dev)
   while(0);
 
   /* Re-enable interrupts */
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
 #ifdef DEBUG_CONFIG_TRACE
   printk(KERN_DEBUG "%s: <-wv_hw_config()\n", dev->name);
@@ -4683,7 +4655,7 @@ wavelan_interrupt(int             irq,
 
   /* Prevent reentrancy. We need to do that because we may have
    * multiple interrupt handler running concurently.
-   * It is safe because wv_splhi() disable interrupts before aquiring
+   * It is safe because interrupts are disabled before aquiring
    * the spinlock. */
   spin_lock(&lp->spinlock);
 
@@ -4916,7 +4888,7 @@ wavelan_watchdog(device * dev)
         dev->name);
 #endif
 
-  wv_splhi(lp, &flags);
+  spin_lock_irqsave(&lp->spinlock, flags);
 
   /* Ask to abort the current command */
   outb(OP0_ABORT, LCCR(base));
@@ -4927,7 +4899,7 @@ wavelan_watchdog(device * dev)
     aborted = TRUE;
 
   /* Release spinlock here so that wv_hw_reset() can grab it */
-  wv_splx(lp, &flags);
+  spin_unlock_irqrestore(&lp->spinlock, flags);
 
   /* Check if we were successful in aborting it */
   if(!aborted)
index 6bdaa7fdc5d0e70c7cf61ad04b6584dbd8d10981..99564233fb4915c90d8ebbe483852019f1e55cc1 100644 (file)
@@ -680,12 +680,6 @@ void wv_roam_cleanup(struct net_device *dev);
 #endif /* WAVELAN_ROAMING */
 
 /* ----------------------- MISC SUBROUTINES ------------------------ */
-static inline void
-       wv_splhi(net_local *,           /* Disable interrupts */
-                unsigned long *);      /* flags */
-static inline void
-       wv_splx(net_local *,            /* ReEnable interrupts */
-               unsigned long *);       /* flags */
 static void
        cs_error(client_handle_t,       /* Report error to cardmgr */
                 int,