smsc911x: define status word positions as constants
authorSteve Glendinning <steve.glendinning@smsc.com>
Thu, 19 Mar 2009 00:24:44 +0000 (00:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2009 06:59:27 +0000 (23:59 -0700)
The vast majority of bit constants in this driver are defined in the
header file, but TX and RX status word bits are not.  This patch (which
should make no functional change) defines these, to make the driver
slightly more readable.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/smsc911x.c
drivers/net/smsc911x.h

index ad15aab..0232292 100644 (file)
@@ -895,22 +895,22 @@ static void smsc911x_tx_update_txcounters(struct net_device *dev)
                        SMSC_WARNING(HW,
                                "Packet tag reserved bit is high");
                } else {
-                       if (unlikely(tx_stat & 0x00008000)) {
+                       if (unlikely(tx_stat & TX_STS_ES_)) {
                                dev->stats.tx_errors++;
                        } else {
                                dev->stats.tx_packets++;
                                dev->stats.tx_bytes += (tx_stat >> 16);
                        }
-                       if (unlikely(tx_stat & 0x00000100)) {
+                       if (unlikely(tx_stat & TX_STS_EXCESS_COL_)) {
                                dev->stats.collisions += 16;
                                dev->stats.tx_aborted_errors += 1;
                        } else {
                                dev->stats.collisions +=
                                    ((tx_stat >> 3) & 0xF);
                        }
-                       if (unlikely(tx_stat & 0x00000800))
+                       if (unlikely(tx_stat & TX_STS_LOST_CARRIER_))
                                dev->stats.tx_carrier_errors += 1;
-                       if (unlikely(tx_stat & 0x00000200)) {
+                       if (unlikely(tx_stat & TX_STS_LATE_COL_)) {
                                dev->stats.collisions++;
                                dev->stats.tx_aborted_errors++;
                        }
@@ -924,19 +924,17 @@ smsc911x_rx_counterrors(struct net_device *dev, unsigned int rxstat)
 {
        int crc_err = 0;
 
-       if (unlikely(rxstat & 0x00008000)) {
+       if (unlikely(rxstat & RX_STS_ES_)) {
                dev->stats.rx_errors++;
-               if (unlikely(rxstat & 0x00000002)) {
+               if (unlikely(rxstat & RX_STS_CRC_ERR_)) {
                        dev->stats.rx_crc_errors++;
                        crc_err = 1;
                }
        }
        if (likely(!crc_err)) {
-               if (unlikely((rxstat & 0x00001020) == 0x00001020)) {
-                       /* Frame type indicates length,
-                        * and length error is set */
+               if (unlikely((rxstat & RX_STS_FRAME_TYPE_) &&
+                            (rxstat & RX_STS_LENGTH_ERR_)))
                        dev->stats.rx_length_errors++;
-               }
                if (rxstat & RX_STS_MCAST_)
                        dev->stats.multicast++;
        }
index 2b76654..b5716bd 100644 (file)
 
 #define RX_STATUS_FIFO                 0x40
 #define RX_STS_ES_                     0x00008000
+#define RX_STS_LENGTH_ERR_             0x00001000
 #define RX_STS_MCAST_                  0x00000400
+#define RX_STS_FRAME_TYPE_             0x00000020
+#define RX_STS_CRC_ERR_                        0x00000002
 
 #define RX_STATUS_FIFO_PEEK            0x44
 
 #define TX_STATUS_FIFO                 0x48
 #define TX_STS_ES_                     0x00008000
+#define TX_STS_LOST_CARRIER_           0x00000800
+#define TX_STS_NO_CARRIER_             0x00000400
+#define TX_STS_LATE_COL_               0x00000200
+#define TX_STS_EXCESS_COL_             0x00000100
 
 #define TX_STATUS_FIFO_PEEK            0x4C