tree eb2ce359b1bf105cad86f3e01f228ac8115c92e6
parent 188f23ba94a618b12cc205306f02b4f5036c4fa7
author Francois Romieu <[EMAIL PROTECTED]> Sat, 30 Jul 2005 13:12:06 +0200
committer Jeff Garzik <[EMAIL PROTECTED]> Sun, 31 Jul 2005 02:21:00 -0400

[PATCH] sis190: remove hardcoded constants.

Replace hardcoded constants by enumerated values in sis190_read_eeprom

The names of the enumerated values have been extracted from SiS'official
driver (v1.00.00 published on 2005/07/11).

Signed-off-by: Francois Romieu <[EMAIL PROTECTED]>
Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>

 drivers/net/sis190.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -5,7 +5,8 @@
    Copyright (c) 2003, 2004 Jeff Garzik <[EMAIL PROTECTED]>
    Copyright (c) 2003, 2004, 2005 Francois Romieu <[EMAIL PROTECTED]>
 
-   Based on r8169.c, tg3.c, 8139cp.c, skge.c and probably even epic100.c.
+   Based on r8169.c, tg3.c, 8139cp.c, skge.c, epic100.c and SiS 190/191
+   genuine driver.
 
    This software may be used and distributed according to the terms of
    the GNU General Public License (GPL), incorporated herein by reference.
@@ -221,6 +222,16 @@ enum _DescStatusBit {
        RxSizeMask      = 0x0000ffff
 };
 
+enum sis190_eeprom_access_register_bits {
+       EECS    = 0x00000001,   // unused
+       EECLK   = 0x00000002,   // unused
+       EEDO    = 0x00000008,   // unused
+       EEDI    = 0x00000004,   // unused
+       EEREQ   = 0x00000080,
+       EEROP   = 0x00000200,
+       EEWOP   = 0x00000100    // unused
+};
+
 struct sis190_private {
        void __iomem *mmio_addr;
        struct pci_dev *pci_dev;
@@ -333,27 +344,24 @@ static int __mdio_read(struct net_device
        return mdio_read(tp->mmio_addr, reg);
 }
 
-static int sis190_read_eeprom(void __iomem *ioaddr, u32 reg)
+static u16 __devinit sis190_read_eeprom(void __iomem *ioaddr, u32 reg)
 {
+       u16 data = 0xffff;
        unsigned int i;
-       u16 data;
-       u32 val;
 
        if (!(SIS_R32(ROMControl) & 0x0002))
                return 0;
 
-       val = (0x0080 | (0x2 << 8) | (reg << 10));
-
-       SIS_W32(ROMInterface, val);
+       SIS_W32(ROMInterface, EEREQ | EEROP | (reg << 10));
 
        for (i = 0; i < 200; i++) {
-               if (!(SIS_R32(ROMInterface) & 0x0080))
+               if (!(SIS_R32(ROMInterface) & EEREQ)) {
+                       data = (SIS_R32(ROMInterface) & 0xffff0000) >> 16;
                        break;
+               }
                msleep(1);
        }
 
-       data = (u16) ((SIS_R32(ROMInterface) & 0xffff0000) >> 16);
-
        return data;
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to