Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2de889235d0e820a6b256b834ee6a64e12fede08
Commit:     2de889235d0e820a6b256b834ee6a64e12fede08
Parent:     c2af68e5f550a671ac9f67f566f04e1580a103a0
Author:     Yoichi Yuasa <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 15 19:06:20 2007 +0900
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Mon Oct 15 14:38:24 2007 -0400

    update AU1000 get_ethernet_addr()
    
    Update AU1000 get_ethernet_addr().
    Three functions were brought together in one.
    
    Signed-off-by: Yoichi Yuasa <[EMAIL PROTECTED]>
    Acked-by: Ralf Baechle <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 arch/mips/au1000/common/prom.c |   38 ++++++++++++++++----------------------
 drivers/net/au1000_eth.c       |   20 ++++----------------
 2 files changed, 20 insertions(+), 38 deletions(-)

diff --git a/arch/mips/au1000/common/prom.c b/arch/mips/au1000/common/prom.c
index a8637cd..5d6ddf1 100644
--- a/arch/mips/au1000/common/prom.c
+++ b/arch/mips/au1000/common/prom.c
@@ -98,7 +98,7 @@ char *prom_getenv(char *envname)
        return NULL;
 }
 
-inline unsigned char str2hexnum(unsigned char c)
+static inline unsigned char str2hexnum(unsigned char c)
 {
        if(c >= '0' && c <= '9')
                return c - '0';
@@ -109,7 +109,7 @@ inline unsigned char str2hexnum(unsigned char c)
        return 0; /* foo */
 }
 
-inline void str2eaddr(unsigned char *ea, unsigned char *str)
+static inline void str2eaddr(unsigned char *ea, unsigned char *str)
 {
        int i;
 
@@ -124,35 +124,29 @@ inline void str2eaddr(unsigned char *ea, unsigned char 
*str)
        }
 }
 
-int get_ethernet_addr(char *ethernet_addr)
+int prom_get_ethernet_addr(char *ethernet_addr)
 {
-        char *ethaddr_str;
+       char *ethaddr_str;
+       char *argptr;
 
-        ethaddr_str = prom_getenv("ethaddr");
+       /* Check the environment variables first */
+       ethaddr_str = prom_getenv("ethaddr");
        if (!ethaddr_str) {
-               printk("ethaddr not set in boot prom\n");
-               return -1;
-       }
-       str2eaddr(ethernet_addr, ethaddr_str);
-
-#if 0
-       {
-               int i;
+               /* Check command line */
+               argptr = prom_getcmdline();
+               ethaddr_str = strstr(argptr, "ethaddr=");
+               if (!ethaddr_str)
+                       return -1;
 
-       printk("get_ethernet_addr: ");
-       for (i=0; i<5; i++)
-               printk("%02x:", (unsigned char)*(ethernet_addr+i));
-       printk("%02x\n", *(ethernet_addr+i));
+               ethaddr_str += strlen("ethaddr=");
        }
-#endif
+
+       str2eaddr(ethernet_addr, ethaddr_str);
 
        return 0;
 }
+EXPORT_SYMBOL(prom_get_ethernet_addr);
 
 void __init prom_free_prom_memory(void)
 {
 }
-
-EXPORT_SYMBOL(prom_getcmdline);
-EXPORT_SYMBOL(get_ethernet_addr);
-EXPORT_SYMBOL(str2eaddr);
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index b46c5d8..297e2d0 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -97,9 +97,7 @@ static void au1000_adjust_link(struct net_device *);
 static void enable_mac(struct net_device *, int);
 
 // externs
-extern int get_ethernet_addr(char *ethernet_addr);
-extern void str2eaddr(unsigned char *ea, unsigned char *str);
-extern char * prom_getcmdline(void);
+extern int prom_get_ethernet_addr(char *ethernet_addr);
 
 /*
  * Theory of operation
@@ -619,7 +617,6 @@ static struct net_device * au1000_probe(int port_num)
        struct au1000_private *aup = NULL;
        struct net_device *dev = NULL;
        db_dest_t *pDB, *pDBfree;
-       char *pmac, *argptr;
        char ethaddr[6];
        int irq, i, err;
        u32 base, macen;
@@ -677,21 +674,12 @@ static struct net_device * au1000_probe(int port_num)
        au_macs[port_num] = aup;
 
        if (port_num == 0) {
-               /* Check the environment variables first */
-               if (get_ethernet_addr(ethaddr) == 0)
+               if (prom_get_ethernet_addr(ethaddr) == 0)
                        memcpy(au1000_mac_addr, ethaddr, 
sizeof(au1000_mac_addr));
                else {
-                       /* Check command line */
-                       argptr = prom_getcmdline();
-                       if ((pmac = strstr(argptr, "ethaddr=")) == NULL)
-                               printk(KERN_INFO "%s: No MAC address found\n",
-                                                dev->name);
+                       printk(KERN_INFO "%s: No MAC address found\n",
+                                        dev->name);
                                /* Use the hard coded MAC addresses */
-                       else {
-                               str2eaddr(ethaddr, pmac + strlen("ethaddr="));
-                               memcpy(au1000_mac_addr, ethaddr,
-                                      sizeof(au1000_mac_addr));
-                       }
                }
 
                setup_hw_rings(aup, MAC0_RX_DMA_ADDR, MAC0_TX_DMA_ADDR);
-
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