浏览代码

bcm570x: get mac address from environment

The environment is the canonical storage location of the mac address, so
we're killing off the global data location and moving everything to
querying the env directly.

Since the address is in the PLM_DEVICE_BLOCK structure already, there is
no need to pass the NodeAddress as a second parameter.  So drop the second
argument to the LM_SetMacAddress() function (and update the tigon3 driver
accordingly).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Ben Warren <biggerbadderben@gmail.com>
Mike Frysinger 16 年之前
父节点
当前提交
c4b8762f11
共有 3 个文件被更改,包括 7 次插入6 次删除
  1. 2 2
      drivers/net/bcm570x.c
  2. 1 1
      drivers/net/bcm570x_lm.h
  3. 4 3
      drivers/net/tigon3.c

+ 2 - 2
drivers/net/bcm570x.c

@@ -450,8 +450,8 @@ int eth_init (bd_t * bis)
 			    + 1);
 	strcpy (pUmDevice->name, board_info[bcm570xDevices[i].board_id].name);
 
-	memcpy (pDevice->NodeAddress, bis->bi_enetaddr, 6);
-	LM_SetMacAddress (pDevice, bis->bi_enetaddr);
+	eth_getenv_enetaddr("ethaddr", pDevice->NodeAddress);
+	LM_SetMacAddress (pDevice);
 	/* Init queues  .. */
 	QQ_InitQueue (&pUmDevice->rx_out_of_buf_q.Container,
 		      MAX_RX_PACKET_DESC_COUNT);

+ 1 - 1
drivers/net/bcm570x_lm.h

@@ -371,7 +371,7 @@ LM_STATUS LM_Abort (PLM_DEVICE_BLOCK pDevice);
 LM_STATUS LM_MulticastAdd (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMcAddress);
 LM_STATUS LM_MulticastDel (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMcAddress);
 LM_STATUS LM_MulticastClear (PLM_DEVICE_BLOCK pDevice);
-LM_STATUS LM_SetMacAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMacAddress);
+LM_STATUS LM_SetMacAddress (PLM_DEVICE_BLOCK pDevice);
 LM_STATUS LM_LoopbackAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pAddress);
 
 LM_UINT32 LM_GetCrcCounter (PLM_DEVICE_BLOCK pDevice);

+ 4 - 3
drivers/net/tigon3.c

@@ -2463,7 +2463,7 @@ LM_STATUS LM_ResetAdapter (PLM_DEVICE_BLOCK pDevice)
 #endif				/* T3_JUMBO_RCV_ENTRY_COUNT */
 
 	/* Configure the MAC address. */
-	LM_SetMacAddress (pDevice, pDevice->NodeAddress);
+	LM_SetMacAddress (pDevice);
 
 	/* Initialize the transmit random backoff seed. */
 	Value32 = (pDevice->NodeAddress[0] + pDevice->NodeAddress[1] +
@@ -3428,7 +3428,7 @@ LM_STATUS LM_Halt (PLM_DEVICE_BLOCK pDevice)
 		     (pDevice->SubsystemId << 16) | pDevice->SubsystemVendorId);
 
 	/* Reprogram the MAC address. */
-	LM_SetMacAddress (pDevice, pDevice->NodeAddress);
+	LM_SetMacAddress (pDevice);
 
 	return LM_STATUS_SUCCESS;
 }				/* LM_Halt */
@@ -3833,9 +3833,10 @@ LM_STATUS LM_MulticastClear (PLM_DEVICE_BLOCK pDevice)
 /*                                                                            */
 /* Return:                                                                    */
 /******************************************************************************/
-LM_STATUS LM_SetMacAddress (PLM_DEVICE_BLOCK pDevice, PLM_UINT8 pMacAddress)
+LM_STATUS LM_SetMacAddress (PLM_DEVICE_BLOCK pDevice)
 {
 	LM_UINT32 j;
+	PLM_UINT8 pMacAddress = pDevice->NodeAddress;
 
 	for (j = 0; j < 4; j++) {
 		REG_WR (pDevice, MacCtrl.MacAddr[j].High,