linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / net / tulip / de4x5.c
index 75ff14a..ee48bfd 100644 (file)
     Digital Semiconductor   SROM   Specification.    The  driver   currently
     recognises the following chips:
 
-        DC21040  (no SROM)
-       DC21041[A]
-       DC21140[A]
-       DC21142
-       DC21143
+        DC21040  (no SROM) 
+       DC21041[A]  
+       DC21140[A] 
+       DC21142 
+       DC21143 
 
     So far the driver is known to work with the following cards:
 
@@ -55,7 +55,7 @@
        SMC8432
        SMC9332 (w/new SROM)
        ZNYX31[45]
-       ZNYX346 10/100 4 port (can act as a 10/100 bridge!)
+       ZNYX346 10/100 4 port (can act as a 10/100 bridge!) 
 
     The driver has been tested on a relatively busy network using the DE425,
     DE434, DE435 and DE500 cards and benchmarked with 'ttcp': it transferred
     loading by:
 
                    insmod de4x5 io=0xghh           where g = bus number
-                                                       hh = device number
+                                                       hh = device number   
 
        NB: autoprobing for modules is now supported by default. You may just
            use:
     4) if you are wanting to add a new  card, goto 5. Otherwise, recompile a
     kernel with the de4x5 configuration turned off and reboot.
     5) insmod de4x5 [io=0xghh]
-    6) run the net startup bits for your new eth?? interface(s) manually
-    (usually /etc/rc.inet[12] at boot time).
+    6) run the net startup bits for your new eth?? interface(s) manually 
+    (usually /etc/rc.inet[12] at boot time). 
     7) enjoy!
 
-    To unload a module, turn off the associated interface(s)
+    To unload a module, turn off the associated interface(s) 
     'ifconfig eth?? down' then 'rmmod de4x5'.
 
     Automedia detection is included so that in  principal you can disconnect
     By  default,  the driver will  now   autodetect any  DECchip based card.
     Should you have a need to restrict the driver to DIGITAL only cards, you
     can compile with a  DEC_ONLY define, or if  loading as a module, use the
-    'dec_only=1'  parameter.
+    'dec_only=1'  parameter. 
 
     I've changed the timing routines to  use the kernel timer and scheduling
     functions  so that the  hangs  and other assorted problems that occurred
     following parameters are allowed:
 
             fdx        for full duplex
-           autosense  to set the media/speed; with the following
+           autosense  to set the media/speed; with the following 
                       sub-parameters:
                       TP, TP_NW, BNC, AUI, BNC_AUI, 100Mb, 10Mb, AUTO
 
     this  automatically  or include  #define DE4X5_FORCE_EISA  on or  before
     line 1040 in the driver.
 
-    TO DO:
+    TO DO: 
     ------
 
     Revision History
     ----------------
 
     Version   Date        Description
-
+  
       0.1     17-Nov-94   Initial writing. ALPHA code release.
       0.2     13-Jan-95   Added PCI support for DE435's.
       0.21    19-Jan-95   Added auto media detection.
                          Add request/release_region code.
                          Add loadable modules support for PCI.
                          Clean up loadable modules support.
-      0.23    28-Feb-95   Added DC21041 and DC21140 support.
+      0.23    28-Feb-95   Added DC21041 and DC21140 support. 
                           Fix missed frame counter value and initialisation.
                          Fixed EISA probe.
       0.24    11-Apr-95   Change delay routine to use <linux/udelay>.
                           Add kernel timer code (h/w is too flaky).
                          Add MII based PHY autosense.
                          Add new multicasting code.
-                         Add new autosense algorithms for media/mode
+                         Add new autosense algorithms for media/mode 
                          selection using kernel scheduling/timing.
                          Re-formatted.
                          Made changes suggested by <jeff@router.patch.net>:
       0.41    21-Mar-96   Don't check for get_hw_addr checksum unless DEC card
                           only <niles@axp745gsfc.nasa.gov>
                          Fix for multiple PCI cards reported by <jos@xos.nl>
-                         Duh, put the IRQF_SHARED flag into request_interrupt().
+                         Duh, put the SA_SHIRQ flag into request_interrupt().
                          Fix SMC ethernet address in enet_det[].
                          Print chip name instead of "UNKNOWN" during boot.
       0.42    26-Apr-96   Fix MII write TA bit error.
                           Add Accton to the list of broken cards.
                          Fix TX under-run bug for non DC21140 chips.
                          Fix boot command probe bug in alloc_device() as
-                          reported by <koen.gadeyne@barco.com> and
+                          reported by <koen.gadeyne@barco.com> and 
                           <orava@nether.tky.hut.fi>.
                          Add cache locks to prevent a race condition as
-                          reported by <csd@microplex.com> and
+                          reported by <csd@microplex.com> and 
                           <baba@beckman.uiuc.edu>.
                          Upgraded alloc_device() code.
       0.431  28-Jun-96    Fix potential bug in queue_pkt() from discussion
                            with a loopback packet.
       0.442   9-Sep-96    Include AUI in dc21041 media printout. Bug reported
                            by <bhat@mundook.cs.mu.OZ.AU>
-      0.45    8-Dec-96    Include endian functions for PPC use, from work
+      0.45    8-Dec-96    Include endian functions for PPC use, from work 
                            by <cort@cs.nmt.edu> and <g.thomas@opengroup.org>.
       0.451  28-Dec-96    Added fix to allow autoprobe for modules after
                            suggestion from <mjacob@feral.com>.
                           <paubert@iram.es>.
       0.52   26-Apr-97    Some changes may not credit the right people -
                            a disk crash meant I lost some mail.
-                         Change RX interrupt routine to drop rather than
-                          defer packets to avoid hang reported by
+                         Change RX interrupt routine to drop rather than 
+                          defer packets to avoid hang reported by 
                           <g.thomas@opengroup.org>.
                          Fix srom_exec() to return for COMPACT and type 1
                           infoblocks.
                          Added DC21142 and DC21143 functions.
                          Added byte counters from <phil@tazenda.demon.co.uk>
-                         Added IRQF_DISABLED temporary fix from
+                         Added SA_INTERRUPT temporary fix from 
                           <mjacob@feral.com>.
       0.53   12-Nov-97    Fix the *_probe() to include 'eth??' name during
                            module load: bug reported by
                          Make above search independent of BIOS device scan
                           direction.
                          Completed DC2114[23] autosense functions.
-      0.531  21-Dec-97    Fix DE500-XA 100Mb/s bug reported by
+      0.531  21-Dec-97    Fix DE500-XA 100Mb/s bug reported by 
                            <robin@intercore.com
                          Fix type1_infoblock() bug introduced in 0.53, from
-                          problem reports by
+                          problem reports by 
                           <parmee@postecss.ncrfran.france.ncr.com> and
                           <jo@ice.dillingen.baynet.de>.
                          Added argument list to set up each board from either
                          Added generic MII PHY functionality to deal with
                           newer PHY chips.
                          Fix the mess in 2.1.67.
-      0.532   5-Jan-98    Fix bug in mii_get_phy() reported by
+      0.532   5-Jan-98    Fix bug in mii_get_phy() reported by 
                            <redhat@cococo.net>.
                           Fix bug in pci_probe() for 64 bit systems reported
                           by <belliott@accessone.com>.
                           version. I hope nothing is broken...
                          Add TX done interrupt modification from suggestion
                           by <Austin.Donnelly@cl.cam.ac.uk>.
-                         Fix is_anc_capable() bug reported by
+                         Fix is_anc_capable() bug reported by 
                           <Austin.Donnelly@cl.cam.ac.uk>.
                          Fix type[13]_infoblock() bug: during MII search, PHY
                           lp->rst not run because lp->ibn not initialised -
                          Add an_exception() for old ZYNX346 and fix compile
                           warning on PPC & SPARC, from <ecd@skynet.be>.
                          Fix lastPCI to correctly work with compiled in
-                          kernels and modules from bug report by
+                          kernels and modules from bug report by 
                           <Zlatko.Calusic@CARNet.hr> et al.
       0.542  15-Sep-98    Fix dc2114x_autoconf() to stop multiple messages
                            when media is unconnected.
       0.544   8-May-99    Fix for buggy SROM in Motorola embedded boards using
                            a 21143 by <mmporter@home.com>.
                          Change PCI/EISA bus probing order.
-      0.545  28-Nov-99    Further Moto SROM bug fix from
+      0.545  28-Nov-99    Further Moto SROM bug fix from 
                            <mporter@eng.mcd.mot.com>
                           Remove double checking for DEBUG_RX in de4x5_dbg_rx()
                           from report by <geert@linux-m68k.org>
                            variable 'pb', on a non de4x5 PCI device, in this
                            case a PCI bridge (DEC chip 21152). The value of
                            'pb' is now only initialized if a de4x5 chip is
-                           present.
-                           <france@handhelds.org>
+                           present. 
+                           <france@handhelds.org>  
       0.547  08-Nov-01    Use library crc32 functions by <Matt_Domsch@dell.com>
       0.548  30-Aug-03    Big 2.6 cleanup. Ported to PCI/EISA probing and
                            generic DMA APIs. Fixed DE425 support on Alpha.
     =========================================================================
 */
 
+#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/string.h>
@@ -512,7 +513,7 @@ struct mii_phy {
     u_char  *rst;           /* Start of reset sequence in SROM           */
     u_int mc;               /* Media Capabilities                        */
     u_int ana;              /* NWay Advertisement                        */
-    u_int fdx;              /* Full DupleX capabilities for each media   */
+    u_int fdx;              /* Full DupleX capabilites for each media    */
     u_int ttm;              /* Transmit Threshold Mode for each media    */
     u_int mci;              /* 21142 MII Connector Interrupt info        */
 };
@@ -583,7 +584,7 @@ static int de4x5_debug = (DEBUG_MEDIA | DEBUG_VERSION);
 
 /*
 ** Allow per adapter set up. For modules this is simply a command line
-** parameter, e.g.:
+** parameter, e.g.: 
 ** insmod de4x5 args='eth1:fdx autosense=BNC eth0:autosense=100Mb'.
 **
 ** For a compiled in driver, place e.g.
@@ -654,7 +655,7 @@ static c_char *de4x5_signatures[] = DE4X5_SIGNATURE;
 ** Memory Alignment. Each descriptor is 4 longwords long. To force a
 ** particular alignment on the TX descriptor, adjust DESC_SKIP_LEN and
 ** DESC_ALIGN. ALIGN aligns the start address of the private memory area
-** and hence the RX descriptor ring's first entry.
+** and hence the RX descriptor ring's first entry. 
 */
 #define DE4X5_ALIGN4      ((u_long)4 - 1)     /* 1 longword align */
 #define DE4X5_ALIGN8      ((u_long)8 - 1)     /* 2 longword align */
@@ -1080,8 +1081,8 @@ static int (*dc_infoblock[])(struct net_device *dev, u_char, u_char *) = {
     mdelay(2);                           /* Wait for 2ms */\
 }
 
-
-static int __devinit
+\f
+static int __devinit 
 de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
 {
     char name[DE4X5_NAME_LENGTH + 1];
@@ -1101,12 +1102,12 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
     mdelay(10);
 
     RESET_DE4X5;
-
+    
     if ((inl(DE4X5_STS) & (STS_TS | STS_RS)) != 0) {
        return -ENXIO;                       /* Hardware could not reset */
     }
-
-    /*
+    
+    /* 
     ** Now find out what kind of DC21040/DC21041/DC21140 board we have.
     */
     lp->useSROM = FALSE;
@@ -1115,21 +1116,21 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
     } else {
        EISA_signature(name, gendev);
     }
-
+    
     if (*name == '\0') {                     /* Not found a board signature */
        return -ENXIO;
     }
-
+    
     dev->base_addr = iobase;
     printk ("%s: %s at 0x%04lx", gendev->bus_id, name, iobase);
-
+    
     printk(", h/w address ");
     status = get_hw_addr(dev);
     for (i = 0; i < ETH_ALEN - 1; i++) {     /* get the ethernet addr. */
        printk("%2.2x:", dev->dev_addr[i]);
     }
     printk("%2.2x,\n", dev->dev_addr[i]);
-
+    
     if (status != 0) {
        printk("      which has an Ethernet PROM CRC error.\n");
        return -ENXIO;
@@ -1170,10 +1171,10 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
        }
 
        lp->tx_ring = lp->rx_ring + NUM_RX_DESC;
-
+           
        /*
        ** Set up the RX descriptor ring (Intels)
-       ** Allocate contiguous receive buffers, long word aligned (Alphas)
+       ** Allocate contiguous receive buffers, long word aligned (Alphas) 
        */
 #if !defined(__alpha__) && !defined(__powerpc__) && !defined(__sparc_v9__) && !defined(DE4X5_DO_MEMCPY)
        for (i=0; i<NUM_RX_DESC; i++) {
@@ -1209,7 +1210,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
 
        lp->rxRingSize = NUM_RX_DESC;
        lp->txRingSize = NUM_TX_DESC;
-
+           
        /* Write the end of list marker to the descriptor lists */
        lp->rx_ring[lp->rxRingSize - 1].des1 |= cpu_to_le32(RD_RER);
        lp->tx_ring[lp->txRingSize - 1].des1 |= cpu_to_le32(TD_TER);
@@ -1218,7 +1219,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
        outl(lp->dma_rings, DE4X5_RRBA);
        outl(lp->dma_rings + NUM_RX_DESC * sizeof(struct de4x5_desc),
             DE4X5_TRBA);
-
+           
        /* Initialise the IRQ mask and Enable/Disable */
        lp->irq_mask = IMR_RIM | IMR_TIM | IMR_TUM | IMR_UNM;
        lp->irq_en   = IMR_NIM | IMR_AIM;
@@ -1251,7 +1252,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
        if ((lp->chipset != DC21040) && (lp->chipset != DC21041)) {
            mii_get_phy(dev);
        }
-
+       
 #ifndef __sparc_v9__
        printk("      and requires IRQ%d (provided by %s).\n", dev->irq,
 #else
@@ -1259,11 +1260,11 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
 #endif
               ((lp->bus == PCI) ? "PCI BIOS" : "EISA CNFG"));
     }
-
+    
     if (de4x5_debug & DEBUG_VERSION) {
        printk(version);
     }
-
+    
     /* The DE4X5-specific entries in the device structure. */
     SET_MODULE_OWNER(dev);
     SET_NETDEV_DEV(dev, gendev);
@@ -1273,23 +1274,23 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
     dev->get_stats = &de4x5_get_stats;
     dev->set_multicast_list = &set_multicast_list;
     dev->do_ioctl = &de4x5_ioctl;
-
+    
     dev->mem_start = 0;
-
+    
     /* Fill in the generic fields of the device structure. */
     if ((status = register_netdev (dev))) {
            dma_free_coherent (gendev, lp->dma_size,
                               lp->rx_ring, lp->dma_rings);
            return status;
     }
-
+    
     /* Let the adapter sleep to save power */
     yawn(dev, SLEEP);
-
+    
     return status;
 }
 
-
+\f
 static int
 de4x5_open(struct net_device *dev)
 {
@@ -1311,18 +1312,18 @@ de4x5_open(struct net_device *dev)
     */
     yawn(dev, WAKEUP);
 
-    /*
-    ** Re-initialize the DE4X5...
+    /* 
+    ** Re-initialize the DE4X5... 
     */
     status = de4x5_init(dev);
     spin_lock_init(&lp->lock);
     lp->state = OPEN;
     de4x5_dbg_open(dev);
-
-    if (request_irq(dev->irq, (void *)de4x5_interrupt, IRQF_SHARED,
+    
+    if (request_irq(dev->irq, (void *)de4x5_interrupt, SA_SHIRQ, 
                                                     lp->adapter_name, dev)) {
        printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
-       if (request_irq(dev->irq, de4x5_interrupt, IRQF_DISABLED | IRQF_SHARED,
+       if (request_irq(dev->irq, de4x5_interrupt, SA_INTERRUPT | SA_SHIRQ,
                                                     lp->adapter_name, dev)) {
            printk("\n              Cannot get IRQ- reconfigure your hardware.\n");
            disable_ast(dev);
@@ -1339,11 +1340,11 @@ de4x5_open(struct net_device *dev)
 
     lp->interrupt = UNMASK_INTERRUPTS;
     dev->trans_start = jiffies;
-
+    
     START_DE4X5;
-
+       
     de4x5_setup_intr(dev);
-
+    
     if (de4x5_debug & DEBUG_OPEN) {
        printk("\tsts:  0x%08x\n", inl(DE4X5_STS));
        printk("\tbmr:  0x%08x\n", inl(DE4X5_BMR));
@@ -1354,7 +1355,7 @@ de4x5_open(struct net_device *dev)
        printk("\tstrr: 0x%08x\n", inl(DE4X5_STRR));
        printk("\tsigr: 0x%08x\n", inl(DE4X5_SIGR));
     }
-
+    
     return status;
 }
 
@@ -1368,15 +1369,15 @@ de4x5_open(struct net_device *dev)
 */
 static int
 de4x5_init(struct net_device *dev)
-{
+{  
     /* Lock out other processes whilst setting up the hardware */
     netif_stop_queue(dev);
-
+    
     de4x5_sw_reset(dev);
-
+    
     /* Autoconfigure the connected port */
     autoconf_media(dev);
-
+    
     return 0;
 }
 
@@ -1387,7 +1388,7 @@ de4x5_sw_reset(struct net_device *dev)
     u_long iobase = dev->base_addr;
     int i, j, status = 0;
     s32 bmr, omr;
-
+    
     /* Select the MII or SRL port now and RESET the MAC */
     if (!lp->useSROM) {
        if (lp->phy[lp->active].id != 0) {
@@ -1398,7 +1399,7 @@ de4x5_sw_reset(struct net_device *dev)
        de4x5_switch_mac_port(dev);
     }
 
-    /*
+    /* 
     ** Set the programmable burst length to 8 longwords for all the DC21140
     ** Fasternet chips and 4 longwords for all others: DMA errors result
     ** without these values. Cache align 16 long.
@@ -1415,23 +1416,23 @@ de4x5_sw_reset(struct net_device *dev)
     outl(lp->dma_rings, DE4X5_RRBA);
     outl(lp->dma_rings + NUM_RX_DESC * sizeof(struct de4x5_desc),
         DE4X5_TRBA);
-
+    
     lp->rx_new = lp->rx_old = 0;
     lp->tx_new = lp->tx_old = 0;
-
+    
     for (i = 0; i < lp->rxRingSize; i++) {
        lp->rx_ring[i].status = cpu_to_le32(R_OWN);
     }
-
+    
     for (i = 0; i < lp->txRingSize; i++) {
        lp->tx_ring[i].status = cpu_to_le32(0);
     }
-
+    
     barrier();
 
     /* Build the setup frame depending on filtering mode */
     SetMulticastFilter(dev);
-
+    
     load_packet(dev, lp->setup_frame, PERFECT_F|TD_SET|SETUP_FRAME_LEN, (struct sk_buff *)1);
     outl(omr|OMR_ST, DE4X5_OMR);
 
@@ -1444,18 +1445,18 @@ de4x5_sw_reset(struct net_device *dev)
     outl(omr, DE4X5_OMR);                        /* Stop everything! */
 
     if (j == 0) {
-       printk("%s: Setup frame timed out, status %08x\n", dev->name,
+       printk("%s: Setup frame timed out, status %08x\n", dev->name, 
               inl(DE4X5_STS));
        status = -EIO;
     }
-
+    
     lp->tx_new = (++lp->tx_new) % lp->txRingSize;
     lp->tx_old = lp->tx_new;
 
     return status;
 }
 
-/*
+/* 
 ** Writes a socket buffer address to the next available transmit descriptor.
 */
 static int
@@ -1468,9 +1469,9 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
 
     netif_stop_queue(dev);
     if (lp->tx_enable == NO) {                   /* Cannot send for now */
-       return -1;
+       return -1;                                
     }
-
+    
     /*
     ** Clean out the TX ring asynchronously to interrupts - sometimes the
     ** interrupts are lost by delayed descriptor status updates relative to
@@ -1481,7 +1482,7 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
     spin_unlock_irqrestore(&lp->lock, flags);
 
     /* Test if cache is already locked - requeue skb if so */
-    if (test_and_set_bit(0, (void *)&lp->cache.lock) && !lp->interrupt)
+    if (test_and_set_bit(0, (void *)&lp->cache.lock) && !lp->interrupt) 
        return -1;
 
     /* Transmit descriptor ring full or stale skb */
@@ -1508,10 +1509,10 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
            load_packet(dev, skb->data, TD_IC | TD_LS | TD_FS | skb->len, skb);
            lp->stats.tx_bytes += skb->len;
            outl(POLL_DEMAND, DE4X5_TPD);/* Start the TX */
-
+               
            lp->tx_new = (++lp->tx_new) % lp->txRingSize;
            dev->trans_start = jiffies;
-
+                   
            if (TX_BUFFS_AVAIL) {
                netif_start_queue(dev);         /* Another pkt may be queued */
            }
@@ -1520,15 +1521,15 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
        }
        if (skb) de4x5_putb_cache(dev, skb);
     }
-
+    
     lp->cache.lock = 0;
 
     return status;
 }
 
 /*
-** The DE4X5 interrupt handler.
-**
+** The DE4X5 interrupt handler. 
+** 
 ** I/O Read/Writes through intermediate PCI bridges are never 'posted',
 ** so that the asserted interrupt always has some real data to work with -
 ** if these I/O accesses are ever changed to memory accesses, ensure the
@@ -1545,7 +1546,7 @@ de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs)
     s32 imr, omr, sts, limit;
     u_long iobase;
     unsigned int handled = 0;
-
+    
     if (dev == NULL) {
        printk ("de4x5_interrupt(): irq %d for unknown device.\n", irq);
        return IRQ_NONE;
@@ -1553,35 +1554,35 @@ de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs)
     lp = netdev_priv(dev);
     spin_lock(&lp->lock);
     iobase = dev->base_addr;
-
+       
     DISABLE_IRQs;                        /* Ensure non re-entrancy */
 
     if (test_and_set_bit(MASK_INTERRUPTS, (void*) &lp->interrupt))
        printk("%s: Re-entering the interrupt handler.\n", dev->name);
 
     synchronize_irq(dev->irq);
-
+       
     for (limit=0; limit<8; limit++) {
        sts = inl(DE4X5_STS);            /* Read IRQ status */
        outl(sts, DE4X5_STS);            /* Reset the board interrupts */
-
+           
        if (!(sts & lp->irq_mask)) break;/* All done */
        handled = 1;
-
+           
        if (sts & (STS_RI | STS_RU))     /* Rx interrupt (packet[s] arrived) */
          de4x5_rx(dev);
-
+           
        if (sts & (STS_TI | STS_TU))     /* Tx interrupt (packet sent) */
-         de4x5_tx(dev);
-
+         de4x5_tx(dev); 
+           
        if (sts & STS_LNF) {             /* TP Link has failed */
            lp->irq_mask &= ~IMR_LFM;
        }
-
+           
        if (sts & STS_UNF) {             /* Transmit underrun */
            de4x5_txur(dev);
        }
-
+           
        if (sts & STS_SE) {              /* Bus Error */
            STOP_DE4X5;
            printk("%s: Fatal bus error occurred, sts=%#8x, device stopped.\n",
@@ -1602,7 +1603,7 @@ de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs)
     lp->interrupt = UNMASK_INTERRUPTS;
     ENABLE_IRQs;
     spin_unlock(&lp->lock);
-
+    
     return IRQ_RETVAL(handled);
 }
 
@@ -1613,11 +1614,11 @@ de4x5_rx(struct net_device *dev)
     u_long iobase = dev->base_addr;
     int entry;
     s32 status;
-
+    
     for (entry=lp->rx_new; (s32)le32_to_cpu(lp->rx_ring[entry].status)>=0;
                                                            entry=lp->rx_new) {
        status = (s32)le32_to_cpu(lp->rx_ring[entry].status);
-
+       
        if (lp->rx_ovf) {
            if (inl(DE4X5_MFC) & MFC_FOCM) {
                de4x5_rx_ovfc(dev);
@@ -1628,7 +1629,7 @@ de4x5_rx(struct net_device *dev)
        if (status & RD_FS) {                 /* Remember the start of frame */
            lp->rx_old = entry;
        }
-
+       
        if (status & RD_LS) {                 /* Valid frame status */
            if (lp->tx_enable) lp->linkOK++;
            if (status & RD_ES) {             /* There was an error. */
@@ -1645,9 +1646,9 @@ de4x5_rx(struct net_device *dev)
                struct sk_buff *skb;
                short pkt_len = (short)(le32_to_cpu(lp->rx_ring[entry].status)
                                                                    >> 16) - 4;
-
+               
                if ((skb = de4x5_alloc_rx_buff(dev, entry, pkt_len)) == NULL) {
-                   printk("%s: Insufficient memory; nuking packet.\n",
+                   printk("%s: Insufficient memory; nuking packet.\n", 
                                                                    dev->name);
                    lp->stats.rx_dropped++;
                } else {
@@ -1657,14 +1658,14 @@ de4x5_rx(struct net_device *dev)
                    skb->protocol=eth_type_trans(skb,dev);
                    de4x5_local_stats(dev, skb->data, pkt_len);
                    netif_rx(skb);
-
+                   
                    /* Update stats */
                    dev->last_rx = jiffies;
                    lp->stats.rx_packets++;
                    lp->stats.rx_bytes += pkt_len;
                }
            }
-
+           
            /* Change buffer ownership for this frame, back to the adapter */
            for (;lp->rx_old!=entry;lp->rx_old=(++lp->rx_old)%lp->rxRingSize) {
                lp->rx_ring[lp->rx_old].status = cpu_to_le32(R_OWN);
@@ -1673,13 +1674,13 @@ de4x5_rx(struct net_device *dev)
            lp->rx_ring[entry].status = cpu_to_le32(R_OWN);
            barrier();
        }
-
+       
        /*
        ** Update entry information
        */
        lp->rx_new = (++lp->rx_new) % lp->rxRingSize;
     }
-
+    
     return 0;
 }
 
@@ -1704,20 +1705,20 @@ de4x5_tx(struct net_device *dev)
     u_long iobase = dev->base_addr;
     int entry;
     s32 status;
-
+    
     for (entry = lp->tx_old; entry != lp->tx_new; entry = lp->tx_old) {
        status = (s32)le32_to_cpu(lp->tx_ring[entry].status);
        if (status < 0) {                     /* Buffer not sent yet */
            break;
        } else if (status != 0x7fffffff) {    /* Not setup frame */
            if (status & TD_ES) {             /* An error happened */
-               lp->stats.tx_errors++;
+               lp->stats.tx_errors++; 
                if (status & TD_NC) lp->stats.tx_carrier_errors++;
                if (status & TD_LC) lp->stats.tx_window_errors++;
                if (status & TD_UF) lp->stats.tx_fifo_errors++;
                if (status & TD_EC) lp->pktStats.excessive_collisions++;
                if (status & TD_DE) lp->stats.tx_aborted_errors++;
-
+           
                if (TX_PKT_PENDING) {
                    outl(POLL_DEMAND, DE4X5_TPD);/* Restart a stalled TX */
                }
@@ -1726,14 +1727,14 @@ de4x5_tx(struct net_device *dev)
                if (lp->tx_enable) lp->linkOK++;
            }
            /* Update the collision counter */
-           lp->stats.collisions += ((status & TD_EC) ? 16 :
+           lp->stats.collisions += ((status & TD_EC) ? 16 : 
                                                      ((status & TD_CC) >> 3));
 
            /* Free the buffer. */
            if (lp->tx_skb[entry] != NULL)
                de4x5_free_tx_buff(lp, entry);
        }
-
+       
        /* Update all the pointers */
        lp->tx_old = (++lp->tx_old) % lp->txRingSize;
     }
@@ -1745,7 +1746,7 @@ de4x5_tx(struct net_device *dev)
        else
            netif_start_queue(dev);
     }
-
+       
     return 0;
 }
 
@@ -1754,9 +1755,9 @@ de4x5_ast(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     int next_tick = DE4X5_AUTOSENSE_MS;
-
+    
     disable_ast(dev);
-
+    
     if (lp->useSROM) {
        next_tick = srom_autoconf(dev);
     } else if (lp->chipset == DC21140) {
@@ -1768,7 +1769,7 @@ de4x5_ast(struct net_device *dev)
     }
     lp->linkOK = 0;
     enable_ast(dev, next_tick);
-
+    
     return 0;
 }
 
@@ -1791,11 +1792,11 @@ de4x5_txur(struct net_device *dev)
        }
        outl(omr | OMR_ST | OMR_SR, DE4X5_OMR);
     }
-
+    
     return 0;
 }
 
-static int
+static int 
 de4x5_rx_ovfc(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -1812,7 +1813,7 @@ de4x5_rx_ovfc(struct net_device *dev)
     }
 
     outl(omr, DE4X5_OMR);
-
+    
     return 0;
 }
 
@@ -1822,22 +1823,22 @@ de4x5_close(struct net_device *dev)
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     s32 imr, omr;
-
+    
     disable_ast(dev);
 
     netif_stop_queue(dev);
-
+    
     if (de4x5_debug & DEBUG_CLOSE) {
        printk("%s: Shutting down ethercard, status was %8.8x.\n",
               dev->name, inl(DE4X5_STS));
     }
-
-    /*
+    
+    /* 
     ** We stop the DE4X5 here... mask interrupts and stop TX & RX
     */
     DISABLE_IRQs;
     STOP_DE4X5;
-
+    
     /* Free the associated irq */
     free_irq(dev->irq, dev);
     lp->state = CLOSED;
@@ -1845,10 +1846,10 @@ de4x5_close(struct net_device *dev)
     /* Free any socket buffers */
     de4x5_free_rx_buffs(dev);
     de4x5_free_tx_buffs(dev);
-
+    
     /* Put the adapter to sleep to save power */
     yawn(dev, SLEEP);
-
+    
     return 0;
 }
 
@@ -1857,9 +1858,9 @@ de4x5_get_stats(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-
+    
     lp->stats.rx_missed_errors = (int)(inl(DE4X5_MFC) & (MFC_OVFL | MFC_CNTR));
-
+    
     return &lp->stats;
 }
 
@@ -1885,7 +1886,7 @@ de4x5_local_stats(struct net_device *dev, char *buf, int pkt_len)
               (*(s16 *)&buf[4] == *(s16 *)&dev->dev_addr[4])) {
         lp->pktStats.unicast++;
     }
-
+               
     lp->pktStats.bins[0]++;       /* Duplicates stats.rx_packets */
     if (lp->pktStats.bins[0] == 0) { /* Reset counters */
         memset((char *)&lp->pktStats, 0, sizeof(lp->pktStats));
@@ -1936,11 +1937,11 @@ set_multicast_list(struct net_device *dev)
            omr = inl(DE4X5_OMR);
            omr |= OMR_PR;
            outl(omr, DE4X5_OMR);
-       } else {
+       } else { 
            SetMulticastFilter(dev);
-           load_packet(dev, lp->setup_frame, TD_IC | PERFECT_F | TD_SET |
+           load_packet(dev, lp->setup_frame, TD_IC | PERFECT_F | TD_SET | 
                                                        SETUP_FRAME_LEN, (struct sk_buff *)1);
-
+           
            lp->tx_new = (++lp->tx_new) % lp->txRingSize;
            outl(POLL_DEMAND, DE4X5_TPD);       /* Start the TX */
            dev->trans_start = jiffies;
@@ -1968,20 +1969,20 @@ SetMulticastFilter(struct net_device *dev)
     omr = inl(DE4X5_OMR);
     omr &= ~(OMR_PR | OMR_PM);
     pa = build_setup_frame(dev, ALL);        /* Build the basic frame */
-
+    
     if ((dev->flags & IFF_ALLMULTI) || (dev->mc_count > 14)) {
        omr |= OMR_PM;                       /* Pass all multicasts */
     } else if (lp->setup_f == HASH_PERF) {   /* Hash Filtering */
        for (i=0;i<dev->mc_count;i++) {      /* for each address in the list */
            addrs=dmi->dmi_addr;
            dmi=dmi->next;
-           if ((*addrs & 0x01) == 1) {      /* multicast address? */
+           if ((*addrs & 0x01) == 1) {      /* multicast address? */ 
                crc = ether_crc_le(ETH_ALEN, addrs);
                hashcode = crc & HASH_BITS;  /* hashcode is 9 LSb of CRC */
-
+               
                byte = hashcode >> 3;        /* bit[3-8] -> byte in filter */
                bit = 1 << (hashcode & 0x07);/* bit[0-2] -> bit in byte */
-
+               
                byte <<= 1;                  /* calc offset into setup frame */
                if (byte & 0x02) {
                    byte -= 1;
@@ -1993,14 +1994,14 @@ SetMulticastFilter(struct net_device *dev)
        for (j=0; j<dev->mc_count; j++) {
            addrs=dmi->dmi_addr;
            dmi=dmi->next;
-           for (i=0; i<ETH_ALEN; i++) {
+           for (i=0; i<ETH_ALEN; i++) { 
                *(pa + (i&1)) = *addrs++;
                if (i & 0x01) pa += 4;
            }
        }
     }
     outl(omr, DE4X5_OMR);
-
+    
     return;
 }
 
@@ -2030,18 +2031,18 @@ static int __init de4x5_eisa_probe (struct device *gendev)
                status = -EBUSY;
                goto release_reg_1;
        }
-
+       
        if (!(dev = alloc_etherdev (sizeof (struct de4x5_private)))) {
                status = -ENOMEM;
                goto release_reg_2;
        }
        lp = netdev_priv(dev);
-
+       
        cfid = (u32) inl(PCI_CFID);
        lp->cfrv = (u_short) inl(PCI_CFRV);
        device = (cfid >> 8) & 0x00ffff00;
        vendor = (u_short) cfid;
-
+           
        /* Read the EISA Configuration Registers */
        regval = inb(EISA_REG0) & (ER0_INTL | ER0_INTT);
 #ifdef CONFIG_ALPHA
@@ -2049,7 +2050,7 @@ static int __init de4x5_eisa_probe (struct device *gendev)
         * care about the EISA configuration, and thus doesn't
         * configure the PLX bridge properly. Oh well... Simply mimic
         * the EISA config file to sort it out. */
-
+       
        /* EISA REG1: Assert DecChip 21040 HW Reset */
        outb (ER1_IAM | 1, EISA_REG1);
        mdelay (1);
@@ -2060,12 +2061,12 @@ static int __init de4x5_eisa_probe (struct device *gendev)
 
        /* EISA REG3: R/W Burst Transfer Enable */
        outb (ER3_BWE | ER3_BRE, EISA_REG3);
-
+       
        /* 32_bit slave/master, Preempt Time=23 bclks, Unlatched Interrupt */
        outb (ER0_BSW | ER0_BMW | ER0_EPT | regval, EISA_REG0);
 #endif
        irq = de4x5_irq[(regval >> 1) & 0x03];
-
+       
        if (is_DC2114x) {
            device = ((lp->cfrv & CFRV_RN) < DC2114x_BRK ? DC21142 : DC21143);
        }
@@ -2076,7 +2077,7 @@ static int __init de4x5_eisa_probe (struct device *gendev)
        outl(PCI_COMMAND_IO | PCI_COMMAND_MASTER, PCI_CFCS);
        outl(0x00006000, PCI_CFLT);
        outl(iobase, PCI_CBIO);
-
+           
        DevicePresent(dev, EISA_APROM);
 
        dev->irq = irq;
@@ -2101,7 +2102,7 @@ static int __devexit de4x5_eisa_remove (struct device *device)
 
        dev = device->driver_data;
        iobase = dev->base_addr;
-
+       
        unregister_netdev (dev);
        free_netdev (dev);
        release_region (iobase + DE4X5_EISA_IO_PORTS, DE4X5_EISA_TOTAL_SIZE);
@@ -2130,11 +2131,11 @@ MODULE_DEVICE_TABLE(eisa, de4x5_eisa_ids);
 
 /*
 ** This function searches the current bus (which is >0) for a DECchip with an
-** SROM, so that in multiport cards that have one SROM shared between multiple
+** SROM, so that in multiport cards that have one SROM shared between multiple 
 ** DECchips, we can find the base SROM irrespective of the BIOS scan direction.
 ** For single port cards this is a time waster...
 */
-static void __devinit
+static void __devinit 
 srom_search(struct net_device *dev, struct pci_dev *pdev)
 {
     u_char pb;
@@ -2162,7 +2163,7 @@ srom_search(struct net_device *dev, struct pci_dev *pdev)
        /* Set the device number information */
        lp->device = PCI_SLOT(this_dev->devfn);
        lp->bus_num = pb;
-
+           
        /* Set the chipset information */
        if (is_DC2114x) {
            device = ((cfrv & CFRV_RN) < DC2114x_BRK ? DC21142 : DC21143);
@@ -2175,7 +2176,7 @@ srom_search(struct net_device *dev, struct pci_dev *pdev)
        /* Fetch the IRQ to be used */
        irq = this_dev->irq;
        if ((irq == 0) || (irq == 0xff) || ((int)irq == -1)) continue;
-
+           
        /* Check if I/O accesses are enabled */
        pci_read_config_word(this_dev, PCI_COMMAND, &status);
        if (!(status & PCI_COMMAND_IO)) continue;
@@ -2253,7 +2254,7 @@ static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
        lp = netdev_priv(dev);
        lp->bus = PCI;
        lp->bus_num = 0;
-
+       
        /* Search for an SROM on this bus */
        if (lp->bus_num != pb) {
            lp->bus_num = pb;
@@ -2266,7 +2267,7 @@ static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
        /* Set the device number information */
        lp->device = dev_num;
        lp->bus_num = pb;
-
+       
        /* Set the chipset information */
        if (is_DC2114x) {
            device = ((lp->cfrv & CFRV_RN) < DC2114x_BRK ? DC21142 : DC21143);
@@ -2282,7 +2283,7 @@ static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
                error = -ENODEV;
                goto free_dev;
        }
-
+           
        /* Check if I/O accesses and Bus Mastering are enabled */
        pci_read_config_word(pdev, PCI_COMMAND, &status);
 #ifdef __powerpc__
@@ -2321,7 +2322,7 @@ static int __devinit de4x5_pci_probe (struct pci_dev *pdev,
        }
 
        dev->irq = irq;
-
+       
        if ((error = de4x5_hw_init(dev, iobase, &pdev->dev))) {
                goto release;
        }
@@ -2376,7 +2377,7 @@ static struct pci_driver de4x5_pci_driver = {
 ** Auto configure the media here rather than setting the port at compile
 ** time. This routine is called by de4x5_init() and when a loss of media is
 ** detected (excessive collisions, loss of carrier, no carrier or link fail
-** [TP] or no recent receive activity) to check whether the user has been
+** [TP] or no recent receive activity) to check whether the user has been 
 ** sneaky and changed the port on us.
 */
 static int
@@ -2404,7 +2405,7 @@ autoconf_media(struct net_device *dev)
     }
 
     enable_ast(dev, next_tick);
-
+    
     return (lp->media);
 }
 
@@ -2427,7 +2428,7 @@ dc21040_autoconf(struct net_device *dev)
     u_long iobase = dev->base_addr;
     int next_tick = DE4X5_AUTOSENSE_MS;
     s32 imr;
-
+    
     switch (lp->media) {
     case INIT:
        DISABLE_IRQs;
@@ -2446,36 +2447,36 @@ dc21040_autoconf(struct net_device *dev)
        lp->local_state = 0;
        next_tick = dc21040_autoconf(dev);
        break;
-
+       
     case TP:
-       next_tick = dc21040_state(dev, 0x8f01, 0xffff, 0x0000, 3000, BNC_AUI,
+       next_tick = dc21040_state(dev, 0x8f01, 0xffff, 0x0000, 3000, BNC_AUI, 
                                                         TP_SUSPECT, test_tp);
        break;
-
+       
     case TP_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, TP, test_tp, dc21040_autoconf);
        break;
-
+       
     case BNC:
     case AUI:
     case BNC_AUI:
-       next_tick = dc21040_state(dev, 0x8f09, 0x0705, 0x0006, 3000, EXT_SIA,
+       next_tick = dc21040_state(dev, 0x8f09, 0x0705, 0x0006, 3000, EXT_SIA, 
                                                  BNC_AUI_SUSPECT, ping_media);
        break;
-
+       
     case BNC_AUI_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, BNC_AUI, ping_media, dc21040_autoconf);
        break;
-
+       
     case EXT_SIA:
-       next_tick = dc21040_state(dev, 0x3041, 0x0000, 0x0006, 3000,
+       next_tick = dc21040_state(dev, 0x3041, 0x0000, 0x0006, 3000, 
                                              NC, EXT_SIA_SUSPECT, ping_media);
        break;
-
+       
     case EXT_SIA_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, EXT_SIA, ping_media, dc21040_autoconf);
        break;
-
+       
     case NC:
        /* default to TP for all */
        reset_init_sia(dev, 0x8f01, 0xffff, 0x0000);
@@ -2487,13 +2488,13 @@ dc21040_autoconf(struct net_device *dev)
        lp->tx_enable = NO;
        break;
     }
-
+    
     return next_tick;
 }
 
 static int
 dc21040_state(struct net_device *dev, int csr13, int csr14, int csr15, int timeout,
-             int next_state, int suspect_state,
+             int next_state, int suspect_state, 
              int (*fn)(struct net_device *, int))
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -2506,7 +2507,7 @@ dc21040_state(struct net_device *dev, int csr13, int csr14, int csr15, int timeo
        lp->local_state++;
        next_tick = 500;
        break;
-
+           
     case 1:
        if (!lp->tx_enable) {
            linkBad = fn(dev, timeout);
@@ -2526,7 +2527,7 @@ dc21040_state(struct net_device *dev, int csr13, int csr14, int csr15, int timeo
        }
        break;
     }
-
+    
     return next_tick;
 }
 
@@ -2581,7 +2582,7 @@ dc21041_autoconf(struct net_device *dev)
     u_long iobase = dev->base_addr;
     s32 sts, irqs, irq_mask, imr, omr;
     int next_tick = DE4X5_AUTOSENSE_MS;
-
+    
     switch (lp->media) {
     case INIT:
        DISABLE_IRQs;
@@ -2602,7 +2603,7 @@ dc21041_autoconf(struct net_device *dev)
        lp->local_state = 0;
        next_tick = dc21041_autoconf(dev);
        break;
-
+       
     case TP_NW:
        if (lp->timeout < 0) {
            omr = inl(DE4X5_OMR);/* Set up full duplex for the autonegotiate */
@@ -2622,7 +2623,7 @@ dc21041_autoconf(struct net_device *dev)
            next_tick = dc21041_autoconf(dev);
        }
        break;
-
+       
     case ANS:
        if (!lp->tx_enable) {
            irqs = STS_LNP;
@@ -2644,11 +2645,11 @@ dc21041_autoconf(struct net_device *dev)
            next_tick = 3000;
        }
        break;
-
+       
     case ANS_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, ANS, test_tp, dc21041_autoconf);
        break;
-
+       
     case TP:
        if (!lp->tx_enable) {
            if (lp->timeout < 0) {
@@ -2678,11 +2679,11 @@ dc21041_autoconf(struct net_device *dev)
            next_tick = 3000;
        }
        break;
-
+       
     case TP_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, TP, test_tp, dc21041_autoconf);
        break;
-
+       
     case AUI:
        if (!lp->tx_enable) {
            if (lp->timeout < 0) {
@@ -2708,11 +2709,11 @@ dc21041_autoconf(struct net_device *dev)
            next_tick = 3000;
        }
        break;
-
+       
     case AUI_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, AUI, ping_media, dc21041_autoconf);
        break;
-
+       
     case BNC:
        switch (lp->local_state) {
        case 0:
@@ -2730,7 +2731,7 @@ dc21041_autoconf(struct net_device *dev)
                next_tick = dc21041_autoconf(dev);
            }
            break;
-
+           
        case 1:
            if (!lp->tx_enable) {
                if ((sts = ping_media(dev, 3000)) < 0) {
@@ -2750,11 +2751,11 @@ dc21041_autoconf(struct net_device *dev)
            break;
        }
        break;
-
+       
     case BNC_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, BNC, ping_media, dc21041_autoconf);
        break;
-
+       
     case NC:
        omr = inl(DE4X5_OMR);    /* Set up full duplex for the autonegotiate */
        outl(omr | OMR_FDX, DE4X5_OMR);
@@ -2767,7 +2768,7 @@ dc21041_autoconf(struct net_device *dev)
        lp->tx_enable = NO;
        break;
     }
-
+    
     return next_tick;
 }
 
@@ -2783,9 +2784,9 @@ dc21140m_autoconf(struct net_device *dev)
     int ana, anlpa, cap, cr, slnk, sr;
     int next_tick = DE4X5_AUTOSENSE_MS;
     u_long imr, omr, iobase = dev->base_addr;
-
+    
     switch(lp->media) {
-    case INIT:
+    case INIT: 
         if (lp->timeout < 0) {
            DISABLE_IRQs;
            lp->tx_enable = FALSE;
@@ -2812,7 +2813,7 @@ dc21140m_autoconf(struct net_device *dev)
                    lp->media = _100Mb;
                } else if (lp->autosense == _10Mb) {
                    lp->media = _10Mb;
-               } else if ((lp->autosense == AUTO) &&
+               } else if ((lp->autosense == AUTO) && 
                                    ((sr=is_anc_capable(dev)) & MII_SR_ANC)) {
                    ana = (((sr >> 6) & MII_ANA_TAF) | MII_ANA_CSMA);
                    ana &= (lp->fdx ? ~0 : ~MII_ANA_FDAM);
@@ -2830,7 +2831,7 @@ dc21140m_autoconf(struct net_device *dev)
            next_tick = dc21140m_autoconf(dev);
        }
        break;
-
+       
     case ANS:
        switch (lp->local_state) {
        case 0:
@@ -2850,7 +2851,7 @@ dc21140m_autoconf(struct net_device *dev)
                next_tick = dc21140m_autoconf(dev);
            }
            break;
-
+           
        case 1:
            if ((sr=test_mii_reg(dev, MII_SR, MII_SR_ASSC, TRUE, 2000)) < 0) {
                next_tick = sr & ~TIMER_CB;
@@ -2861,7 +2862,7 @@ dc21140m_autoconf(struct net_device *dev)
                    lp->tmp = MII_SR_ASSC;
                    anlpa = mii_rd(MII_ANLPA, lp->phy[lp->active].addr, DE4X5_MII);
                    ana = mii_rd(MII_ANA, lp->phy[lp->active].addr, DE4X5_MII);
-                   if (!(anlpa & MII_ANLPA_RF) &&
+                   if (!(anlpa & MII_ANLPA_RF) && 
                         (cap = anlpa & MII_ANLPA_TAF & ana)) {
                        if (cap & MII_ANA_100M) {
                            lp->fdx = ((ana & anlpa & MII_ANA_FDAM & MII_ANA_100M) ? TRUE : FALSE);
@@ -2878,10 +2879,10 @@ dc21140m_autoconf(struct net_device *dev)
            break;
        }
        break;
-
+       
     case SPD_DET:                              /* Choose 10Mb/s or 100Mb/s */
         if (lp->timeout < 0) {
-           lp->tmp = (lp->phy[lp->active].id ? MII_SR_LKS :
+           lp->tmp = (lp->phy[lp->active].id ? MII_SR_LKS : 
                                                  (~gep_rd(dev) & GEP_LNP));
            SET_100Mb_PDET;
        }
@@ -2898,7 +2899,7 @@ dc21140m_autoconf(struct net_device *dev)
            next_tick = dc21140m_autoconf(dev);
        }
        break;
-
+       
     case _100Mb:                               /* Set 100Mb/s */
         next_tick = 3000;
        if (!lp->tx_enable) {
@@ -2932,7 +2933,7 @@ dc21140m_autoconf(struct net_device *dev)
            }
        }
        break;
-
+       
     case NC:
         if (lp->media != lp->c_media) {
            de4x5_dbg_media(dev);
@@ -2942,7 +2943,7 @@ dc21140m_autoconf(struct net_device *dev)
        lp->tx_enable = FALSE;
        break;
     }
-
+    
     return next_tick;
 }
 
@@ -3001,7 +3002,7 @@ dc2114x_autoconf(struct net_device *dev)
                lp->media = AUI;
            } else {
                lp->media = SPD_DET;
-               if ((lp->infoblock_media == ANS) &&
+               if ((lp->infoblock_media == ANS) && 
                                    ((sr=is_anc_capable(dev)) & MII_SR_ANC)) {
                    ana = (((sr >> 6) & MII_ANA_TAF) | MII_ANA_CSMA);
                    ana &= (lp->fdx ? ~0 : ~MII_ANA_FDAM);
@@ -3013,7 +3014,7 @@ dc2114x_autoconf(struct net_device *dev)
            next_tick = dc2114x_autoconf(dev);
         }
        break;
-
+       
     case ANS:
        switch (lp->local_state) {
        case 0:
@@ -3033,7 +3034,7 @@ dc2114x_autoconf(struct net_device *dev)
                next_tick = dc2114x_autoconf(dev);
            }
            break;
-
+           
        case 1:
            if ((sr=test_mii_reg(dev, MII_SR, MII_SR_ASSC, TRUE, 2000)) < 0) {
                next_tick = sr & ~TIMER_CB;
@@ -3044,7 +3045,7 @@ dc2114x_autoconf(struct net_device *dev)
                    lp->tmp = MII_SR_ASSC;
                    anlpa = mii_rd(MII_ANLPA, lp->phy[lp->active].addr, DE4X5_MII);
                    ana = mii_rd(MII_ANA, lp->phy[lp->active].addr, DE4X5_MII);
-                   if (!(anlpa & MII_ANLPA_RF) &&
+                   if (!(anlpa & MII_ANLPA_RF) && 
                         (cap = anlpa & MII_ANLPA_TAF & ana)) {
                        if (cap & MII_ANA_100M) {
                            lp->fdx = ((ana & anlpa & MII_ANA_FDAM & MII_ANA_100M) ? TRUE : FALSE);
@@ -3086,11 +3087,11 @@ dc2114x_autoconf(struct net_device *dev)
            next_tick = 3000;
        }
        break;
-
+       
     case AUI_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, AUI, ping_media, dc2114x_autoconf);
        break;
-
+       
     case BNC:
        switch (lp->local_state) {
        case 0:
@@ -3108,7 +3109,7 @@ dc2114x_autoconf(struct net_device *dev)
                next_tick = dc2114x_autoconf(dev);
            }
            break;
-
+           
        case 1:
            if (!lp->tx_enable) {
                if ((sts = ping_media(dev, 3000)) < 0) {
@@ -3129,11 +3130,11 @@ dc2114x_autoconf(struct net_device *dev)
            break;
        }
        break;
-
+       
     case BNC_SUSPECT:
        next_tick = de4x5_suspect_state(dev, 1000, BNC, ping_media, dc2114x_autoconf);
        break;
-
+       
     case SPD_DET:                              /* Choose 10Mb/s or 100Mb/s */
          if (srom_map_media(dev) < 0) {
              lp->tcount++;
@@ -3160,7 +3161,7 @@ dc2114x_autoconf(struct net_device *dev)
              next_tick = dc2114x_autoconf(dev);
          } else if (((lp->media == _100Mb) && is_100_up(dev)) ||
                     (((lp->media == _10Mb) || (lp->media == TP) ||
-                      (lp->media == BNC)   || (lp->media == AUI)) &&
+                      (lp->media == BNC)   || (lp->media == AUI)) && 
                      is_10_up(dev))) {
              next_tick = dc2114x_autoconf(dev);
          } else {
@@ -3168,7 +3169,7 @@ dc2114x_autoconf(struct net_device *dev)
              lp->media = INIT;
          }
          break;
-
+       
     case _10Mb:
         next_tick = 3000;
        if (!lp->tx_enable) {
@@ -3207,7 +3208,7 @@ printk("Huh?: media:%02x\n", lp->media);
        lp->media = INIT;
        break;
     }
-
+    
     return next_tick;
 }
 
@@ -3230,7 +3231,7 @@ srom_map_media(struct net_device *dev)
     struct de4x5_private *lp = netdev_priv(dev);
 
     lp->fdx = 0;
-    if (lp->infoblock_media == lp->media)
+    if (lp->infoblock_media == lp->media) 
       return 0;
 
     switch(lp->infoblock_media) {
@@ -3269,7 +3270,7 @@ srom_map_media(struct net_device *dev)
       case SROM_100BASEFF:
        if (!lp->params.fdx) return -1;
        lp->fdx = TRUE;
-      case SROM_100BASEF:
+      case SROM_100BASEF: 
        if (lp->params.fdx && !lp->fdx) return -1;
        lp->media = _100Mb;
        break;
@@ -3279,8 +3280,8 @@ srom_map_media(struct net_device *dev)
        lp->fdx = lp->params.fdx;
        break;
 
-      default:
-       printk("%s: Bad media code [%d] detected in SROM!\n", dev->name,
+      default: 
+       printk("%s: Bad media code [%d] detected in SROM!\n", dev->name, 
                                                          lp->infoblock_media);
        return -1;
        break;
@@ -3358,7 +3359,7 @@ test_media(struct net_device *dev, s32 irqs, s32 irq_mask, s32 csr13, s32 csr14,
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     s32 sts, csr12;
-
+    
     if (lp->timeout < 0) {
        lp->timeout = msec/100;
        if (!lp->useSROM) {      /* Already done if by SROM, else dc2104[01] */
@@ -3371,22 +3372,22 @@ test_media(struct net_device *dev, s32 irqs, s32 irq_mask, s32 csr13, s32 csr14,
        /* clear all pending interrupts */
        sts = inl(DE4X5_STS);
        outl(sts, DE4X5_STS);
-
+       
        /* clear csr12 NRA and SRA bits */
        if ((lp->chipset == DC21041) || lp->useSROM) {
            csr12 = inl(DE4X5_SISR);
            outl(csr12, DE4X5_SISR);
        }
     }
-
+    
     sts = inl(DE4X5_STS) & ~TIMER_CB;
-
+    
     if (!(sts & irqs) && --lp->timeout) {
        sts = 100 | TIMER_CB;
     } else {
        lp->timeout = -1;
     }
-
+    
     return sts;
 }
 
@@ -3396,11 +3397,11 @@ test_tp(struct net_device *dev, s32 msec)
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     int sisr;
-
+    
     if (lp->timeout < 0) {
        lp->timeout = msec/100;
     }
-
+    
     sisr = (inl(DE4X5_SISR) & ~TIMER_CB) & (SISR_LKF | SISR_NCR);
 
     if (sisr && --lp->timeout) {
@@ -3408,7 +3409,7 @@ test_tp(struct net_device *dev, s32 msec)
     } else {
        lp->timeout = -1;
     }
-
+    
     return sisr;
 }
 
@@ -3435,7 +3436,7 @@ test_for_100Mb(struct net_device *dev, int msec)
            lp->timeout = msec/SAMPLE_INTERVAL;
        }
     }
-
+    
     if (lp->phy[lp->active].id || lp->useSROM) {
        gep = is_100_up(dev) | is_spd_100(dev);
     } else {
@@ -3446,7 +3447,7 @@ test_for_100Mb(struct net_device *dev, int msec)
     } else {
        lp->timeout = -1;
     }
-
+    
     return gep;
 }
 
@@ -3458,13 +3459,13 @@ wait_for_link(struct net_device *dev)
     if (lp->timeout < 0) {
        lp->timeout = 1;
     }
-
+    
     if (lp->timeout--) {
        return TIMER_CB;
     } else {
        lp->timeout = -1;
     }
-
+    
     return 0;
 }
 
@@ -3478,21 +3479,21 @@ test_mii_reg(struct net_device *dev, int reg, int mask, int pol, long msec)
     struct de4x5_private *lp = netdev_priv(dev);
     int test;
     u_long iobase = dev->base_addr;
-
+    
     if (lp->timeout < 0) {
        lp->timeout = msec/100;
     }
-
+    
     if (pol) pol = ~0;
     reg = mii_rd((u_char)reg, lp->phy[lp->active].addr, DE4X5_MII) & mask;
     test = (reg ^ pol) & mask;
-
+    
     if (test && --lp->timeout) {
        reg = 100 | TIMER_CB;
     } else {
        lp->timeout = -1;
     }
-
+    
     return reg;
 }
 
@@ -3502,7 +3503,7 @@ is_spd_100(struct net_device *dev)
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     int spd;
-
+    
     if (lp->useMII) {
        spd = mii_rd(lp->phy[lp->active].spd.reg, lp->phy[lp->active].addr, DE4X5_MII);
        spd = ~(spd ^ lp->phy[lp->active].spd.value);
@@ -3516,7 +3517,7 @@ is_spd_100(struct net_device *dev)
        spd = (lp->asBitValid & (lp->asPolarity ^ (gep_rd(dev) & lp->asBit))) |
                  (lp->linkOK & ~lp->asBitValid);
     }
-
+    
     return spd;
 }
 
@@ -3525,7 +3526,7 @@ is_100_up(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-
+    
     if (lp->useMII) {
        /* Double read for sticky bits & temporary drops */
        mii_rd(MII_SR, lp->phy[lp->active].addr, DE4X5_MII);
@@ -3546,7 +3547,7 @@ is_10_up(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-
+    
     if (lp->useMII) {
        /* Double read for sticky bits & temporary drops */
        mii_rd(MII_SR, lp->phy[lp->active].addr, DE4X5_MII);
@@ -3569,7 +3570,7 @@ is_anc_capable(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-
+    
     if (lp->phy[lp->active].id && (!lp->useSROM || lp->useMII)) {
        return (mii_rd(MII_SR, lp->phy[lp->active].addr, DE4X5_MII));
     } else if ((lp->chipset & ~0x00ff) == DC2114x) {
@@ -3589,24 +3590,24 @@ ping_media(struct net_device *dev, int msec)
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     int sisr;
-
+    
     if (lp->timeout < 0) {
        lp->timeout = msec/100;
-
+       
        lp->tmp = lp->tx_new;                /* Remember the ring position */
        load_packet(dev, lp->frame, TD_LS | TD_FS | sizeof(lp->frame), (struct sk_buff *)1);
        lp->tx_new = (++lp->tx_new) % lp->txRingSize;
        outl(POLL_DEMAND, DE4X5_TPD);
     }
-
+    
     sisr = inl(DE4X5_SISR);
 
-    if ((!(sisr & SISR_NCR)) &&
-       ((s32)le32_to_cpu(lp->tx_ring[lp->tmp].status) < 0) &&
+    if ((!(sisr & SISR_NCR)) && 
+       ((s32)le32_to_cpu(lp->tx_ring[lp->tmp].status) < 0) && 
         (--lp->timeout)) {
        sisr = 100 | TIMER_CB;
     } else {
-       if ((!(sisr & SISR_NCR)) &&
+       if ((!(sisr & SISR_NCR)) && 
            !(le32_to_cpu(lp->tx_ring[lp->tmp].status) & (T_OWN | TD_ES)) &&
            lp->timeout) {
            sisr = 0;
@@ -3615,7 +3616,7 @@ ping_media(struct net_device *dev, int msec)
        }
        lp->timeout = -1;
     }
-
+    
     return sisr;
 }
 
@@ -3667,7 +3668,7 @@ de4x5_alloc_rx_buff(struct net_device *dev, int index, int len)
     } else {                                           /* Linear buffer */
        memcpy(skb_put(p,len),lp->rx_bufs + lp->rx_old * RX_BUFF_SZ,len);
     }
-
+                   
     return p;
 #endif
 }
@@ -3750,23 +3751,23 @@ de4x5_rst_desc_ring(struct net_device *dev)
        outl(lp->dma_rings, DE4X5_RRBA);
        outl(lp->dma_rings + NUM_RX_DESC * sizeof(struct de4x5_desc),
             DE4X5_TRBA);
-
+    
        lp->rx_new = lp->rx_old = 0;
        lp->tx_new = lp->tx_old = 0;
-
+    
        for (i = 0; i < lp->rxRingSize; i++) {
            lp->rx_ring[i].status = cpu_to_le32(R_OWN);
        }
-
+    
        for (i = 0; i < lp->txRingSize; i++) {
            lp->tx_ring[i].status = cpu_to_le32(0);
        }
-
+    
        barrier();
        lp->cache.save_cnt--;
        START_DE4X5;
     }
-
+        
     return;
 }
 
@@ -3791,7 +3792,7 @@ de4x5_cache_state(struct net_device *dev, int flag)
            gep_wr(lp->cache.gepc, dev);
            gep_wr(lp->cache.gep, dev);
        } else {
-           reset_init_sia(dev, lp->cache.csr13, lp->cache.csr14,
+           reset_init_sia(dev, lp->cache.csr13, lp->cache.csr14, 
                                                              lp->cache.csr15);
        }
        break;
@@ -3853,25 +3854,25 @@ test_ans(struct net_device *dev, s32 irqs, s32 irq_mask, s32 msec)
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     s32 sts, ans;
-
+    
     if (lp->timeout < 0) {
        lp->timeout = msec/100;
        outl(irq_mask, DE4X5_IMR);
-
+       
        /* clear all pending interrupts */
        sts = inl(DE4X5_STS);
        outl(sts, DE4X5_STS);
     }
-
+    
     ans = inl(DE4X5_SISR) & SISR_ANS;
     sts = inl(DE4X5_STS) & ~TIMER_CB;
-
+    
     if (!(sts & irqs) && (ans ^ ANS_NWOK) && --lp->timeout) {
        sts = 100 | TIMER_CB;
     } else {
        lp->timeout = -1;
     }
-
+    
     return sts;
 }
 
@@ -3881,7 +3882,7 @@ de4x5_setup_intr(struct net_device *dev)
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
     s32 imr, sts;
-
+    
     if (inl(DE4X5_OMR) & OMR_SR) {   /* Only unmask if TX/RX is enabled */
        imr = 0;
        UNMASK_IRQs;
@@ -3889,7 +3890,7 @@ de4x5_setup_intr(struct net_device *dev)
        outl(sts, DE4X5_STS);
        ENABLE_IRQs;
     }
-
+    
     return;
 }
 
@@ -3935,17 +3936,17 @@ create_packet(struct net_device *dev, char *frame, int len)
 {
     int i;
     char *buf = frame;
-
+    
     for (i=0; i<ETH_ALEN; i++) {             /* Use this source address */
        *buf++ = dev->dev_addr[i];
     }
     for (i=0; i<ETH_ALEN; i++) {             /* Use this destination address */
        *buf++ = dev->dev_addr[i];
     }
-
+    
     *buf++ = 0;                              /* Packet length (2 bytes) */
     *buf++ = 1;
-
+    
     return;
 }
 
@@ -3977,7 +3978,7 @@ static int
 PCI_signature(char *name, struct de4x5_private *lp)
 {
     int i, status = 0, siglen = sizeof(de4x5_signatures)/sizeof(c_char *);
-
+    
     if (lp->chipset == DC21040) {
        strcpy(name, "DE434/5");
        return status;
@@ -4006,7 +4007,7 @@ PCI_signature(char *name, struct de4x5_private *lp)
     } else if ((lp->chipset & ~0x00ff) == DC2114x) {
        lp->useSROM = TRUE;
     }
-
+    
     return status;
 }
 
@@ -4023,7 +4024,7 @@ DevicePresent(struct net_device *dev, u_long aprom_addr)
 {
     int i, j=0;
     struct de4x5_private *lp = netdev_priv(dev);
-
+    
     if (lp->chipset == DC21040) {
        if (lp->bus == EISA) {
            enet_addr_rst(aprom_addr); /* Reset Ethernet Address ROM Pointer */
@@ -4048,7 +4049,7 @@ DevicePresent(struct net_device *dev, u_long aprom_addr)
        }
        de4x5_dbg_srom((struct de4x5_srom *)&lp->srom);
     }
-
+    
     return;
 }
 
@@ -4070,11 +4071,11 @@ enet_addr_rst(u_long aprom_addr)
     short sigLength=0;
     s8 data;
     int i, j;
-
+    
     dev.llsig.a = ETH_PROM_SIG;
     dev.llsig.b = ETH_PROM_SIG;
     sigLength = sizeof(u32) << 1;
-
+    
     for (i=0,j=0;j<sigLength && i<PROBE_LENGTH+sigLength-1;i++) {
        data = inb(aprom_addr);
        if (dev.Sig[j] == data) {    /* track signature */
@@ -4087,7 +4088,7 @@ enet_addr_rst(u_long aprom_addr)
            }
        }
     }
-
+    
     return;
 }
 
@@ -4110,7 +4111,7 @@ get_hw_addr(struct net_device *dev)
     for (i=0,k=0,j=0;j<3;j++) {
        k <<= 1;
        if (k > 0xffff) k-=0xffff;
-
+       
        if (lp->bus == PCI) {
            if (lp->chipset == DC21040) {
                while ((tmp = inl(DE4X5_APROM)) < 0);
@@ -4132,11 +4133,11 @@ get_hw_addr(struct net_device *dev)
            k += (u_short) ((tmp = inb(EISA_APROM)) << 8);
            dev->dev_addr[i++] = (u_char) tmp;
        }
-
+       
        if (k > 0xffff) k-=0xffff;
     }
     if (k == 0xffff) k=0;
-
+    
     if (lp->bus == PCI) {
        if (lp->chipset == DC21040) {
            while ((tmp = inl(DE4X5_APROM)) < 0);
@@ -4155,11 +4156,11 @@ get_hw_addr(struct net_device *dev)
     srom_repair(dev, broken);
 
 #ifdef CONFIG_PPC_MULTIPLATFORM
-    /*
+    /* 
     ** If the address starts with 00 a0, we have to bit-reverse
     ** each byte of the address.
     */
-    if ( machine_is(powermac) &&
+    if ( (_machine & _MACH_Pmac) &&
         (dev->dev_addr[0] == 0) &&
         (dev->dev_addr[1] == 0xa0) )
     {
@@ -4244,7 +4245,7 @@ test_bad_enet(struct net_device *dev, int status)
 
     for (tmp=0,i=0; i<ETH_ALEN; i++) tmp += (u_char)dev->dev_addr[i];
     if ((tmp == 0) || (tmp == 0x5fa)) {
-       if ((lp->chipset == last.chipset) &&
+       if ((lp->chipset == last.chipset) && 
            (lp->bus_num == last.bus) && (lp->bus_num > 0)) {
            for (i=0; i<ETH_ALEN; i++) dev->dev_addr[i] = last.addr[i];
            for (i=ETH_ALEN-1; i>2; --i) {
@@ -4274,7 +4275,7 @@ test_bad_enet(struct net_device *dev, int status)
 static int
 an_exception(struct de4x5_private *lp)
 {
-    if ((*(u_short *)lp->srom.sub_vendor_id == 0x00c0) &&
+    if ((*(u_short *)lp->srom.sub_vendor_id == 0x00c0) && 
        (*(u_short *)lp->srom.sub_system_id == 0x95e0)) {
        return -1;
     }
@@ -4289,11 +4290,11 @@ static short
 srom_rd(u_long addr, u_char offset)
 {
     sendto_srom(SROM_RD | SROM_SR, addr);
-
+    
     srom_latch(SROM_RD | SROM_SR | DT_CS, addr);
     srom_command(SROM_RD | SROM_SR | DT_IN | DT_CS, addr);
     srom_address(SROM_RD | SROM_SR | DT_CS, addr, offset);
-
+    
     return srom_data(SROM_RD | SROM_SR | DT_CS, addr);
 }
 
@@ -4303,7 +4304,7 @@ srom_latch(u_int command, u_long addr)
     sendto_srom(command, addr);
     sendto_srom(command | DT_CLK, addr);
     sendto_srom(command, addr);
-
+    
     return;
 }
 
@@ -4313,7 +4314,7 @@ srom_command(u_int command, u_long addr)
     srom_latch(command, addr);
     srom_latch(command, addr);
     srom_latch((command & 0x0000ff00) | DT_CS, addr);
-
+    
     return;
 }
 
@@ -4321,15 +4322,15 @@ static void
 srom_address(u_int command, u_long addr, u_char offset)
 {
     int i, a;
-
+    
     a = offset << 2;
     for (i=0; i<6; i++, a <<= 1) {
        srom_latch(command | ((a & 0x80) ? DT_IN : 0), addr);
     }
     udelay(1);
-
+    
     i = (getfrom_srom(addr) >> 3) & 0x01;
-
+    
     return;
 }
 
@@ -4339,17 +4340,17 @@ srom_data(u_int command, u_long addr)
     int i;
     short word = 0;
     s32 tmp;
-
+    
     for (i=0; i<16; i++) {
        sendto_srom(command  | DT_CLK, addr);
        tmp = getfrom_srom(addr);
        sendto_srom(command, addr);
-
+       
        word = (word << 1) | ((tmp >> 3) & 0x01);
     }
-
+    
     sendto_srom(command & 0x0000ff00, addr);
-
+    
     return word;
 }
 
@@ -4358,13 +4359,13 @@ static void
 srom_busy(u_int command, u_long addr)
 {
    sendto_srom((command & 0x0000ff00) | DT_CS, addr);
-
+   
    while (!((getfrom_srom(addr) >> 3) & 0x01)) {
        mdelay(1);
    }
-
+   
    sendto_srom(command & 0x0000ff00, addr);
-
+   
    return;
 }
 */
@@ -4374,7 +4375,7 @@ sendto_srom(u_int command, u_long addr)
 {
     outl(command, addr);
     udelay(1);
-
+    
     return;
 }
 
@@ -4382,10 +4383,10 @@ static int
 getfrom_srom(u_long addr)
 {
     s32 tmp;
-
+    
     tmp = inl(addr);
     udelay(1);
-
+    
     return tmp;
 }
 
@@ -4402,7 +4403,7 @@ srom_infoleaf_info(struct net_device *dev)
     }
     if (i == INFOLEAF_SIZE) {
        lp->useSROM = FALSE;
-       printk("%s: Cannot find correct chipset for SROM decoding!\n",
+       printk("%s: Cannot find correct chipset for SROM decoding!\n", 
                                                                  dev->name);
        return -ENXIO;
     }
@@ -4419,7 +4420,7 @@ srom_infoleaf_info(struct net_device *dev)
        }
        if (i == 0) {
            lp->useSROM = FALSE;
-           printk("%s: Cannot find correct PCI device [%d] for SROM decoding!\n",
+           printk("%s: Cannot find correct PCI device [%d] for SROM decoding!\n", 
                                                       dev->name, lp->device);
            return -ENXIO;
        }
@@ -4493,9 +4494,9 @@ srom_exec(struct net_device *dev, u_char *p)
     if (((lp->ibn != 1) && (lp->ibn != 3) && (lp->ibn != 5)) || !count) return;
 
     if (lp->chipset != DC21140) RESET_SIA;
-
     while (count--) {
-       gep_wr(((lp->chipset==DC21140) && (lp->ibn!=5) ?
+       gep_wr(((lp->chipset==DC21140) && (lp->ibn!=5) ? 
                                                   *p++ : TWIDDLE(w++)), dev);
        mdelay(2);                          /* 2ms per action */
     }
@@ -4513,13 +4514,13 @@ srom_exec(struct net_device *dev, u_char *p)
 ** unless I implement the DC21041 SROM functions. There's no need
 ** since the existing code will be satisfactory for all boards.
 */
-static int
+static int 
 dc21041_infoleaf(struct net_device *dev)
 {
     return DE4X5_AUTOSENSE_MS;
 }
 
-static int
+static int 
 dc21140_infoleaf(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4557,7 +4558,7 @@ dc21140_infoleaf(struct net_device *dev)
     return next_tick & ~TIMER_CB;
 }
 
-static int
+static int 
 dc21142_infoleaf(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4592,7 +4593,7 @@ dc21142_infoleaf(struct net_device *dev)
     return next_tick & ~TIMER_CB;
 }
 
-static int
+static int 
 dc21143_infoleaf(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4630,7 +4631,7 @@ dc21143_infoleaf(struct net_device *dev)
 ** The compact infoblock is only designed for DC21140[A] chips, so
 ** we'll reuse the dc21140m_autoconf function. Non MII media only.
 */
-static int
+static int 
 compact_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4670,7 +4671,7 @@ compact_infoblock(struct net_device *dev, u_char count, u_char *p)
 /*
 ** This block describes non MII media for the DC21140[A] only.
 */
-static int
+static int 
 type0_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4710,7 +4711,7 @@ type0_infoblock(struct net_device *dev, u_char count, u_char *p)
 
 /* These functions are under construction! */
 
-static int
+static int 
 type1_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4749,7 +4750,7 @@ type1_infoblock(struct net_device *dev, u_char count, u_char *p)
     return dc21140m_autoconf(dev);
 }
 
-static int
+static int 
 type2_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4790,7 +4791,7 @@ type2_infoblock(struct net_device *dev, u_char count, u_char *p)
     return dc2114x_autoconf(dev);
 }
 
-static int
+static int 
 type3_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4832,7 +4833,7 @@ type3_infoblock(struct net_device *dev, u_char count, u_char *p)
     return dc2114x_autoconf(dev);
 }
 
-static int
+static int 
 type4_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4877,7 +4878,7 @@ type4_infoblock(struct net_device *dev, u_char count, u_char *p)
 ** This block type provides information for resetting external devices
 ** (chips) through the General Purpose Register.
 */
-static int
+static int 
 type5_infoblock(struct net_device *dev, u_char count, u_char *p)
 {
     struct de4x5_private *lp = netdev_priv(dev);
@@ -4915,7 +4916,7 @@ mii_rd(u_char phyreg, u_char phyaddr, u_long ioaddr)
     mii_address(phyaddr, ioaddr);          /* PHY address to be accessed     */
     mii_address(phyreg, ioaddr);           /* PHY Register to read           */
     mii_ta(MII_STRD, ioaddr);              /* Turn around time - 2 MDC       */
-
+    
     return mii_rdata(ioaddr);              /* Read data                      */
 }
 
@@ -4930,7 +4931,7 @@ mii_wr(int data, u_char phyreg, u_char phyaddr, u_long ioaddr)
     mii_ta(MII_STWR, ioaddr);              /* Turn around time - 2 MDC       */
     data = mii_swap(data, 16);             /* Swap data bit ordering         */
     mii_wdata(data, 16, ioaddr);           /* Write data                     */
-
+    
     return;
 }
 
@@ -4939,12 +4940,12 @@ mii_rdata(u_long ioaddr)
 {
     int i;
     s32 tmp = 0;
-
+    
     for (i=0; i<16; i++) {
        tmp <<= 1;
        tmp |= getfrom_mii(MII_MRD | MII_RD, ioaddr);
     }
-
+    
     return tmp;
 }
 
@@ -4952,12 +4953,12 @@ static void
 mii_wdata(int data, int len, u_long ioaddr)
 {
     int i;
-
+    
     for (i=0; i<len; i++) {
        sendto_mii(MII_MWR | MII_WR, data, ioaddr);
        data >>= 1;
     }
-
+    
     return;
 }
 
@@ -4965,13 +4966,13 @@ static void
 mii_address(u_char addr, u_long ioaddr)
 {
     int i;
-
+    
     addr = mii_swap(addr, 5);
     for (i=0; i<5; i++) {
        sendto_mii(MII_MWR | MII_WR, addr, ioaddr);
        addr >>= 1;
     }
-
+    
     return;
 }
 
@@ -4979,12 +4980,12 @@ static void
 mii_ta(u_long rw, u_long ioaddr)
 {
     if (rw == MII_STWR) {
-       sendto_mii(MII_MWR | MII_WR, 1, ioaddr);
-       sendto_mii(MII_MWR | MII_WR, 0, ioaddr);
+       sendto_mii(MII_MWR | MII_WR, 1, ioaddr);  
+       sendto_mii(MII_MWR | MII_WR, 0, ioaddr);  
     } else {
        getfrom_mii(MII_MRD | MII_RD, ioaddr);        /* Tri-state MDIO */
     }
-
+    
     return;
 }
 
@@ -4992,13 +4993,13 @@ static int
 mii_swap(int data, int len)
 {
     int i, tmp = 0;
-
+    
     for (i=0; i<len; i++) {
        tmp <<= 1;
        tmp |= (data & 1);
        data >>= 1;
     }
-
+    
     return tmp;
 }
 
@@ -5006,13 +5007,13 @@ static void
 sendto_mii(u32 command, int data, u_long ioaddr)
 {
     u32 j;
-
+    
     j = (data & 1) << 17;
     outl(command | j, ioaddr);
     udelay(1);
     outl(command | MII_MDC | j, ioaddr);
     udelay(1);
-
+    
     return;
 }
 
@@ -5023,7 +5024,7 @@ getfrom_mii(u32 command, u_long ioaddr)
     udelay(1);
     outl(command | MII_MDC, ioaddr);
     udelay(1);
-
+    
     return ((inl(ioaddr) >> 19) & 1);
 }
 
@@ -5084,7 +5085,7 @@ mii_get_phy(struct net_device *dev)
     u_long iobase = dev->base_addr;
     int i, j, k, n, limit=sizeof(phy_info)/sizeof(struct phy_table);
     int id;
-
+    
     lp->active = 0;
     lp->useMII = TRUE;
 
@@ -5093,7 +5094,7 @@ mii_get_phy(struct net_device *dev)
        lp->phy[lp->active].addr = i;
        if (i==0) n++;                             /* Count cycles */
        while (de4x5_reset_phy(dev)<0) udelay(100);/* Wait for reset */
-       id = mii_get_oui(i, DE4X5_MII);
+       id = mii_get_oui(i, DE4X5_MII); 
        if ((id == 0) || (id == 65535)) continue;  /* Valid ID? */
        for (j=0; j<limit; j++) {                  /* Search PHY table */
            if (id != phy_info[j].id) continue;    /* ID match? */
@@ -5132,7 +5133,7 @@ mii_get_phy(struct net_device *dev)
        for (k=0; lp->phy[k].id && (k < DE4X5_MAX_PHY); k++) { /*For each PHY*/
            mii_wr(MII_CR_RST, MII_CR, lp->phy[k].addr, DE4X5_MII);
            while (mii_rd(MII_CR, lp->phy[k].addr, DE4X5_MII) & MII_CR_RST);
-
+           
            de4x5_dbg_mii(dev, k);
        }
     }
@@ -5147,12 +5148,12 @@ build_setup_frame(struct net_device *dev, int mode)
     struct de4x5_private *lp = netdev_priv(dev);
     int i;
     char *pa = lp->setup_frame;
-
+    
     /* Initialise the setup frame */
     if (mode == ALL) {
        memset(lp->setup_frame, 0, SETUP_FRAME_LEN);
     }
-
+    
     if (lp->setup_f == HASH_PERF) {
        for (pa=lp->setup_frame+IMPERF_PA_OFFSET, i=0; i<ETH_ALEN; i++) {
            *(pa + i) = dev->dev_addr[i];                 /* Host address */
@@ -5169,7 +5170,7 @@ build_setup_frame(struct net_device *dev, int mode)
            if (i & 0x01) pa += 4;
        }
     }
-
+    
     return pa;                     /* Points to the next entry */
 }
 
@@ -5177,7 +5178,7 @@ static void
 enable_ast(struct net_device *dev, u32 time_out)
 {
     timeout(dev, (void *)&de4x5_ast, (u_long)dev, time_out);
-
+    
     return;
 }
 
@@ -5185,9 +5186,9 @@ static void
 disable_ast(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
-
+    
     del_timer(&lp->timer);
-
+    
     return;
 }
 
@@ -5206,10 +5207,10 @@ de4x5_switch_mac_port(struct net_device *dev)
     omr |= lp->infoblock_csr6;
     if (omr & OMR_PS) omr |= OMR_HBD;
     outl(omr, DE4X5_OMR);
-
+    
     /* Soft Reset */
     RESET_DE4X5;
-
+    
     /* Restore the GEP - especially for COMPACT and Type 0 Infoblocks */
     if (lp->chipset == DC21140) {
        gep_wr(lp->cache.gepc, dev);
@@ -5262,21 +5263,21 @@ timeout(struct net_device *dev, void (*fn)(u_long data), u_long data, u_long mse
 {
     struct de4x5_private *lp = netdev_priv(dev);
     int dt;
-
+    
     /* First, cancel any pending timer events */
     del_timer(&lp->timer);
-
+    
     /* Convert msec to ticks */
     dt = (msec * HZ) / 1000;
     if (dt==0) dt=1;
-
+    
     /* Set up timer */
     init_timer(&lp->timer);
     lp->timer.expires = jiffies + dt;
     lp->timer.function = fn;
     lp->timer.data = data;
     add_timer(&lp->timer);
-
+    
     return;
 }
 
@@ -5374,7 +5375,7 @@ de4x5_dbg_open(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     int i;
-
+    
     if (de4x5_debug & DEBUG_OPEN) {
        printk("%s: de4x5 opening with irq %d\n",dev->name,dev->irq);
        printk("\tphysical address: ");
@@ -5412,11 +5413,11 @@ de4x5_dbg_open(struct net_device *dev)
            }
        }
        printk("...0x%8.8x\n", le32_to_cpu(lp->tx_ring[i].buf));
-       printk("Ring size: \nRX: %d\nTX: %d\n",
-              (short)lp->rxRingSize,
-              (short)lp->txRingSize);
+       printk("Ring size: \nRX: %d\nTX: %d\n", 
+              (short)lp->rxRingSize, 
+              (short)lp->txRingSize); 
     }
-
+    
     return;
 }
 
@@ -5425,7 +5426,7 @@ de4x5_dbg_mii(struct net_device *dev, int k)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-
+    
     if (de4x5_debug & DEBUG_MII) {
        printk("\nMII device address: %d\n", lp->phy[k].addr);
        printk("MII CR:  %x\n",mii_rd(MII_CR,lp->phy[k].addr,DE4X5_MII));
@@ -5444,7 +5445,7 @@ de4x5_dbg_mii(struct net_device *dev, int k)
            printk("MII 20:  %x\n",mii_rd(0x14,lp->phy[k].addr,DE4X5_MII));
        }
     }
-
+    
     return;
 }
 
@@ -5452,17 +5453,17 @@ static void
 de4x5_dbg_media(struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
-
+    
     if (lp->media != lp->c_media) {
        if (de4x5_debug & DEBUG_MEDIA) {
            printk("%s: media is %s%s\n", dev->name,
                   (lp->media == NC  ? "unconnected, link down or incompatible connection" :
                    (lp->media == TP  ? "TP" :
                     (lp->media == ANS ? "TP/Nway" :
-                     (lp->media == BNC ? "BNC" :
-                      (lp->media == AUI ? "AUI" :
-                       (lp->media == BNC_AUI ? "BNC/AUI" :
-                        (lp->media == EXT_SIA ? "EXT SIA" :
+                     (lp->media == BNC ? "BNC" : 
+                      (lp->media == AUI ? "AUI" : 
+                       (lp->media == BNC_AUI ? "BNC/AUI" : 
+                        (lp->media == EXT_SIA ? "EXT SIA" : 
                          (lp->media == _100Mb  ? "100Mb/s" :
                           (lp->media == _10Mb   ? "10Mb/s" :
                            "???"
@@ -5470,7 +5471,7 @@ de4x5_dbg_media(struct net_device *dev)
        }
        lp->c_media = lp->media;
     }
-
+    
     return;
 }
 
@@ -5553,7 +5554,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        u32 lval[36];
     } tmp;
     u_long flags = 0;
-
+    
     switch(ioc->cmd) {
     case DE4X5_GET_HWADDR:           /* Get the hardware address */
        ioc->len = ETH_ALEN;
@@ -5574,7 +5575,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        }
        build_setup_frame(dev, PHYS_ADDR_ONLY);
        /* Set up the descriptor and give ownership to the card */
-       load_packet(dev, lp->setup_frame, TD_IC | PERFECT_F | TD_SET |
+       load_packet(dev, lp->setup_frame, TD_IC | PERFECT_F | TD_SET | 
                                                       SETUP_FRAME_LEN, (struct sk_buff *)1);
        lp->tx_new = (++lp->tx_new) % lp->txRingSize;
        outl(POLL_DEMAND, DE4X5_TPD);                /* Start the TX */
@@ -5616,8 +5617,8 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        spin_lock_irqsave(&lp->lock, flags);
        memcpy(&statbuf, &lp->pktStats, ioc->len);
        spin_unlock_irqrestore(&lp->lock, flags);
-       if (copy_to_user(ioc->data, &statbuf, ioc->len))
-               return -EFAULT;
+       if (copy_to_user(ioc->data, &statbuf, ioc->len)) 
+               return -EFAULT; 
        break;
     }
     case DE4X5_CLR_STATS:            /* Zero out the driver statistics */
@@ -5651,9 +5652,9 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        ioc->len = j;
        if (copy_to_user(ioc->data, tmp.addr, ioc->len)) return -EFAULT;
        break;
-
+       
 #define DE4X5_DUMP              0x0f /* Dump the DE4X5 Status */
-/*
+/*     
       case DE4X5_DUMP:
        j = 0;
        tmp.addr[j++] = dev->irq;
@@ -5663,7 +5664,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        tmp.addr[j++] = lp->rxRingSize;
        tmp.lval[j>>2] = (long)lp->rx_ring; j+=4;
        tmp.lval[j>>2] = (long)lp->tx_ring; j+=4;
-
+       
        for (i=0;i<lp->rxRingSize-1;i++){
            if (i < 3) {
                tmp.lval[j>>2] = (long)&lp->rx_ring[i].status; j+=4;
@@ -5676,7 +5677,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
            }
        }
        tmp.lval[j>>2] = (long)&lp->tx_ring[i].status; j+=4;
-
+       
        for (i=0;i<lp->rxRingSize-1;i++){
            if (i < 3) {
                tmp.lval[j>>2] = (s32)le32_to_cpu(lp->rx_ring[i].buf); j+=4;
@@ -5689,14 +5690,14 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
            }
        }
        tmp.lval[j>>2] = (s32)le32_to_cpu(lp->tx_ring[i].buf); j+=4;
-
+       
        for (i=0;i<lp->rxRingSize;i++){
            tmp.lval[j>>2] = le32_to_cpu(lp->rx_ring[i].status); j+=4;
        }
        for (i=0;i<lp->txRingSize;i++){
            tmp.lval[j>>2] = le32_to_cpu(lp->tx_ring[i].status); j+=4;
        }
-
+       
        tmp.lval[j>>2] = inl(DE4X5_BMR);  j+=4;
        tmp.lval[j>>2] = inl(DE4X5_TPD);  j+=4;
        tmp.lval[j>>2] = inl(DE4X5_RPD);  j+=4;
@@ -5705,18 +5706,18 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        tmp.lval[j>>2] = inl(DE4X5_STS);  j+=4;
        tmp.lval[j>>2] = inl(DE4X5_OMR);  j+=4;
        tmp.lval[j>>2] = inl(DE4X5_IMR);  j+=4;
-       tmp.lval[j>>2] = lp->chipset; j+=4;
+       tmp.lval[j>>2] = lp->chipset; j+=4; 
        if (lp->chipset == DC21140) {
            tmp.lval[j>>2] = gep_rd(dev);  j+=4;
        } else {
            tmp.lval[j>>2] = inl(DE4X5_SISR); j+=4;
            tmp.lval[j>>2] = inl(DE4X5_SICR); j+=4;
            tmp.lval[j>>2] = inl(DE4X5_STRR); j+=4;
-           tmp.lval[j>>2] = inl(DE4X5_SIGR); j+=4;
+           tmp.lval[j>>2] = inl(DE4X5_SIGR); j+=4; 
        }
-       tmp.lval[j>>2] = lp->phy[lp->active].id; j+=4;
+       tmp.lval[j>>2] = lp->phy[lp->active].id; j+=4; 
        if (lp->phy[lp->active].id && (!lp->useSROM || lp->useMII)) {
-           tmp.lval[j>>2] = lp->active; j+=4;
+           tmp.lval[j>>2] = lp->active; j+=4; 
            tmp.lval[j>>2]=mii_rd(MII_CR,lp->phy[lp->active].addr,DE4X5_MII); j+=4;
            tmp.lval[j>>2]=mii_rd(MII_SR,lp->phy[lp->active].addr,DE4X5_MII); j+=4;
            tmp.lval[j>>2]=mii_rd(MII_ID0,lp->phy[lp->active].addr,DE4X5_MII); j+=4;
@@ -5733,10 +5734,10 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                tmp.lval[j>>2]=mii_rd(0x14,lp->phy[lp->active].addr,DE4X5_MII); j+=4;
            }
        }
-
+       
        tmp.addr[j++] = lp->txRingSize;
        tmp.addr[j++] = netif_queue_stopped(dev);
-
+       
        ioc->len = j;
        if (copy_to_user(ioc->data, tmp.addr, ioc->len)) return -EFAULT;
        break;
@@ -5745,7 +5746,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
     default:
        return -EOPNOTSUPP;
     }
-
+    
     return status;
 }