]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/e1000.c
Merge branch 'Makefile-next' of git://git.denx.de/u-boot-arm
[u-boot] / drivers / net / e1000.c
index c31029ab5502c34971d74c6185150af03e3e64a1..2dcaa2c910fd6b56790c2c6c735f348f00a276f6 100644 (file)
@@ -75,6 +75,7 @@ static struct pci_device_id supported[] = {
        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82544GC_LOM},
        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82540EM},
        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82545EM_COPPER},
+       {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82545GM_COPPER},
        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82546EB_COPPER},
        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82545EM_FIBER},
        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82546EB_FIBER},
@@ -512,9 +513,11 @@ e1000_read_mac_addr(struct eth_device *nic)
                nic->enetaddr[5] += 1;
        }
 #ifdef CONFIG_E1000_FALLBACK_MAC
-       if ( *(u32*)(nic->enetaddr) == 0 || *(u32*)(nic->enetaddr) == ~0 )
-               for ( i=0; i < NODE_ADDRESS_SIZE; i++ )
-                       nic->enetaddr[i] = (CONFIG_E1000_FALLBACK_MAC >> (8*(5-i))) & 0xff;
+       if ( *(u32*)(nic->enetaddr) == 0 || *(u32*)(nic->enetaddr) == ~0 ) {
+               unsigned char fb_mac[NODE_ADDRESS_SIZE] = CONFIG_E1000_FALLBACK_MAC;
+
+               memcpy (nic->enetaddr, fb_mac, NODE_ADDRESS_SIZE);
+       }
 #endif
 #else
        /*
@@ -530,10 +533,9 @@ e1000_read_mac_addr(struct eth_device *nic)
        DEBUGFUNC();
 
        s = getenv ("ethaddr");
-       if (s == NULL){
+       if (s == NULL) {
                return -E1000_ERR_EEPROM;
-       }
-       else{
+       } else {
                for(ii = 0; ii < 6; ii++) {
                        nic->enetaddr[ii] = s ? simple_strtoul (s, &e, 16) : 0;
                        if (s){
@@ -636,6 +638,7 @@ e1000_set_mac_type(struct e1000_hw *hw)
                hw->mac_type = e1000_82540;
                break;
        case E1000_DEV_ID_82545EM_COPPER:
+       case E1000_DEV_ID_82545GM_COPPER:
        case E1000_DEV_ID_82545EM_FIBER:
                hw->mac_type = e1000_82545;
                break;
@@ -3056,5 +3059,5 @@ e1000_initialize(bd_t * bis)
 
                card_number++;
        }
-       return 1;
+       return card_number;
 }