* Patches by Xianghua Xiao, 15 Oct 2003:

  - Added Motorola CPU 8540/8560 support (cpu/85xx)
  - Added Motorola MPC8540ADS board support (board/mpc8540ads)
  - Added Motorola MPC8560ADS board support (board/mpc8560ads)

* Minor code cleanup
diff --git a/drivers/sk98lin/skrlmt.c b/drivers/sk98lin/skrlmt.c
index 1e707c9..f8a3b41 100644
--- a/drivers/sk98lin/skrlmt.c
+++ b/drivers/sk98lin/skrlmt.c
@@ -28,17 +28,17 @@
  *	$Log: skrlmt.c,v $
  *	Revision 1.68  2003/01/31 15:26:56  rschmidt
  *	Added init for local variables in RlmtInit().
- *	
+ *
  *	Revision 1.67  2003/01/31 14:12:41  mkunz
  *	single port adapter runs now with two identical MAC addresses
- *	
+ *
  *	Revision 1.66  2002/09/23 15:14:19  rwahl
  *	- Reset broadcast timestamp on link down.
  *	- Editorial corrections.
- *	
+ *
  *	Revision 1.65  2002/07/22 14:29:48  rwahl
  *	- Removed BRK statement from debug check.
- *	
+ *
  *	Revision 1.64  2001/11/28 19:36:14  rwahl
  *	- RLMT Packets sent to an invalid MAC address in CLP/CLPSS mode
  *	  (#10650).
@@ -46,220 +46,220 @@
  *	 (no dependency to RLMT module).
  *	- Enabled dbg output for entry/exit of event functions.
  *	- Editorial changes.
- *	
+ *
  *	Revision 1.63  2001/10/26 07:53:18  afischer
  *	Port switching bug in `check local link` mode
- *	
+ *
  *	Revision 1.62  2001/07/03 12:16:30  mkunz
  *	New Flag ChgBcPrio (Change priority of last broadcast received)
- *	
+ *
  *	Revision 1.61  2001/03/14 12:52:08  rassmann
  *	Fixed reporting of active port up/down to PNMI.
- *	
+ *
  *	Revision 1.60  2001/02/21 16:02:25  gklug
  *	fix: when RLMT starts set Active Port for PNMI
- *	
+ *
  *	Revision 1.59  2001/02/16 14:38:19  rassmann
  *	Initializing some pointers earlier in the init phase.
  *	Rx Mbufs are freed if the net which they belong to is stopped.
- *	
+ *
  *	Revision 1.58  2001/02/14 14:06:31  rassmann
  *	Editorial changes.
- *	
+ *
  *	Revision 1.57  2001/02/05 14:25:26  rassmann
  *	Prepared RLMT for transparent operation.
- *	
+ *
  *	Revision 1.56  2001/01/30 10:29:09  rassmann
  *	Not checking switching befor RlmtStart.
  *	Editorial changes.
- *	
+ *
  *	Revision 1.55  2001/01/22 13:41:38  rassmann
  *	Supporting two nets on dual-port adapters.
- *	
+ *
  *	Revision 1.54  2000/11/30 13:25:07  rassmann
  *	Setting SK_TICK_INCR to 1 by default.
- *	
+ *
  *	Revision 1.53  2000/11/30 10:48:07  cgoos
  *	Changed definition of SK_RLMT_BC_DELTA.
- *	
+ *
  *	Revision 1.52  2000/11/27 12:50:03  rassmann
  *	Checking ports after receiving broadcasts.
- *	
+ *
  *	Revision 1.51  2000/11/17 08:58:00  rassmann
  *	Moved CheckSwitch from SK_RLMT_PACKET_RECEIVED to SK_RLMT_TIM event.
- *	
+ *
  *	Revision 1.50  2000/11/09 12:24:34  rassmann
  *	Indicating that segmentation check is not running anymore after
  *	  SkRlmtCheckSeg().
  *	Restarting segmentation timer after segmentation log.
  *	Editorial changes.
- *	
+ *
  *	Revision 1.49  1999/11/22 13:38:02  cgoos
  *	Changed license header to GPL.
  *	Added initialization to some variables to avoid compiler warnings.
- *	
+ *
  *	Revision 1.48  1999/10/04 14:01:17  rassmann
  *	Corrected reaction to reception of BPDU frames (#10441).
- *	
+ *
  *	Revision 1.47  1999/07/20 12:53:36  rassmann
  *	Fixed documentation errors for lookahead macros.
- *	
+ *
  *	Revision 1.46  1999/05/28 13:29:16  rassmann
  *	Replaced C++-style comment.
- *	
+ *
  *	Revision 1.45  1999/05/28 13:28:08  rassmann
  *	Corrected syntax error (xxx).
- *	
+ *
  *	Revision 1.44  1999/05/28 11:15:54  rassmann
  *	Changed behaviour to reflect Design Spec v1.2.
  *	Controlling Link LED(s).
  *	Introduced RLMT Packet Version field in RLMT Packet.
  *	Newstyle lookahead macros (checking meta-information before looking at
  *	  the packet).
- *	
+ *
  *	Revision 1.43  1999/01/28 13:12:43  rassmann
  *	Corrected Lookahead (bug introduced in previous Rev.).
- *	
+ *
  *	Revision 1.42  1999/01/28 12:50:41  rassmann
  *	Not using broadcast time stamps in CheckLinkState mode.
- *	
+ *
  *	Revision 1.41  1999/01/27 14:13:02  rassmann
  *	Monitoring broadcast traffic.
  *	Switching more reliably and not too early if switch is
  *	 configured for spanning tree.
- *	
+ *
  *	Revision 1.40  1999/01/22 13:17:30  rassmann
  *	Informing PNMI of NET_UP.
  *	Clearing RLMT multicast addresses before setting them for the first time.
  *	Reporting segmentation earlier, setting a "quiet time"
  *	 after a report.
- *	
+ *
  *	Revision 1.39  1998/12/10 15:29:53  rassmann
  *	Corrected SuspectStatus in SkRlmtBuildCheckChain().
  *	Corrected CHECK_SEG mode.
- *	
+ *
  *	Revision 1.38  1998/12/08 13:11:23  rassmann
  *	Stopping SegTimer at RlmtStop.
- *	
+ *
  *	Revision 1.37  1998/12/07 16:51:42  rassmann
  *	Corrected comments.
- *	
+ *
  *	Revision 1.36  1998/12/04 10:58:56  rassmann
  *	Setting next pointer to NULL when receiving.
- *	
+ *
  *	Revision 1.35  1998/12/03 16:12:42  rassmann
  *	Ignoring/correcting illegal PrefPort values.
- *	
+ *
  *	Revision 1.34  1998/12/01 11:45:35  rassmann
  *	Code cleanup.
- *	
+ *
  *	Revision 1.33  1998/12/01 10:29:32  rassmann
  *	Starting standby ports before getting the net up.
  *	Checking if a port is started when the link comes up.
- *	
+ *
  *	Revision 1.32  1998/11/30 16:19:50  rassmann
  *	New default for PortNoRx.
- *	
+ *
  *	Revision 1.31  1998/11/27 19:17:13  rassmann
  *	Corrected handling of LINK_DOWN coming shortly after LINK_UP.
- *	
+ *
  *	Revision 1.30  1998/11/24 12:37:31  rassmann
  *	Implemented segmentation check.
- *	
+ *
  *	Revision 1.29  1998/11/18 13:04:32  rassmann
  *	Secured PortUpTimer event.
  *	Waiting longer before starting standby port(s).
- *	
+ *
  *	Revision 1.28  1998/11/17 13:43:04  rassmann
  *	Handling (logical) tx failure.
  *	Sending packet on logical address after PORT_SWITCH.
- *	
+ *
  *	Revision 1.27  1998/11/13 17:09:50  rassmann
  *	Secured some events against being called in wrong state.
- *	
+ *
  *	Revision 1.26  1998/11/13 16:56:54  rassmann
  *	Added macro version of SkRlmtLookaheadPacket.
- *	
+ *
  *	Revision 1.25  1998/11/06 18:06:04  rassmann
  *	Corrected timing when RLMT checks fail.
  *	Clearing tx counter earlier in periodical checks.
- *	
+ *
  *	Revision 1.24  1998/11/05 10:37:27  rassmann
  *	Checking destination address in Lookahead.
- *	
+ *
  *	Revision 1.23  1998/11/03 13:53:49  rassmann
  *	RLMT should switch now (at least in mode 3).
- *	
+ *
  *	Revision 1.22  1998/10/29 14:34:49  rassmann
  *	Clearing SK_RLMT struct at startup.
  *	Initializing PortsUp during SK_RLMT_START.
- *	
+ *
  *	Revision 1.21  1998/10/28 11:30:17  rassmann
  *	Default mode is now SK_RLMT_CHECK_LOC_LINK.
- *	
+ *
  *	Revision 1.20  1998/10/26 16:02:03  rassmann
  *	Ignoring LINK_DOWN for links that are down.
- *	
+ *
  *	Revision 1.19  1998/10/22 15:54:01  rassmann
  *	Corrected EtherLen.
  *	Starting Link Check when second port comes up.
- *	
+ *
  *	Revision 1.18  1998/10/22 11:39:50  rassmann
  *	Corrected signed/unsigned mismatches.
  *	Corrected receive list handling and address recognition.
- *	
+ *
  *	Revision 1.17  1998/10/19 17:01:20  rassmann
  *	More detailed checking of received packets.
- *	
+ *
  *	Revision 1.16  1998/10/15 15:16:34  rassmann
  *	Finished Spanning Tree checking.
  *	Checked with lint.
- *	
+ *
  *	Revision 1.15  1998/09/24 19:16:07  rassmann
  *	Code cleanup.
  *	Introduced Timer for PORT_DOWN due to no RX.
- *	
+ *
  *	Revision 1.14  1998/09/18 20:27:14  rassmann
  *	Added address override.
- *	
+ *
  *	Revision 1.13  1998/09/16 11:31:48  rassmann
  *	Including skdrv1st.h again. :(
- *	
+ *
  *	Revision 1.12  1998/09/16 11:09:50  rassmann
  *	Syntax corrections.
- *	
+ *
  *	Revision 1.11  1998/09/15 12:32:03  rassmann
  *	Syntax correction.
- *	
+ *
  *	Revision 1.10  1998/09/15 11:28:49  rassmann
  *	Syntax corrections.
- *	
+ *
  *	Revision 1.9  1998/09/14 17:07:37  rassmann
  *	Added code for port checking via LAN.
  *	Changed Mbuf definition.
- *	
+ *
  *	Revision 1.8  1998/09/07 11:14:14  rassmann
  *	Syntax corrections.
- *	
+ *
  *	Revision 1.7  1998/09/07 09:06:07  rassmann
  *	Syntax corrections.
- *	
+ *
  *	Revision 1.6  1998/09/04 19:41:33  rassmann
  *	Syntax corrections.
  *	Started entering code for checking local links.
- *	
+ *
  *	Revision 1.5  1998/09/04 12:14:27  rassmann
  *	Interface cleanup.
- *	
+ *
  *	Revision 1.4  1998/09/02 16:55:28  rassmann
  *	Updated to reflect new DRV/HWAC/RLMT interface.
- *	
+ *
  *	Revision 1.3  1998/08/27 14:29:03  rassmann
  *	Code cleanup.
- *	
+ *
  *	Revision 1.2  1998/08/27 14:26:24  rassmann
  *	Updated interface.
- *	
+ *
  *	Revision 1.1  1998/08/21 08:26:49  rassmann
  *	First public version.
  *
@@ -668,7 +668,7 @@
 			}
 
 			(void)SkAddrMcClear(pAC, IoC, i, SK_ADDR_PERMANENT | SK_MC_SW_ONLY);
-			
+
 			/* Add RLMT MC address. */
 			(void)SkAddrMcAdd(pAC, IoC, i, &SkRlmtMcAddr, SK_ADDR_PERMANENT);
 
@@ -680,34 +680,34 @@
 			(void)SkAddrMcUpdate(pAC, IoC, i);
 		}
 
-    	VirtualMacAddressSet = SK_FALSE;
+	VirtualMacAddressSet = SK_FALSE;
 		/* Read virtual MAC address from Control Register File. */
 		for (j = 0; j < SK_MAC_ADDR_LEN; j++) {
-			
-            SK_IN8(IoC, B2_MAC_1 + j, &VirtualMacAddress.a[j]);
-            VirtualMacAddressSet |= VirtualMacAddress.a[j];
+
+	    SK_IN8(IoC, B2_MAC_1 + j, &VirtualMacAddress.a[j]);
+	    VirtualMacAddressSet |= VirtualMacAddress.a[j];
 		}
-    	
-        PhysicalAMacAddressSet = SK_FALSE;
+
+	PhysicalAMacAddressSet = SK_FALSE;
 		/* Read physical MAC address for MAC A from Control Register File. */
 		for (j = 0; j < SK_MAC_ADDR_LEN; j++) {
-			
-            SK_IN8(IoC, B2_MAC_2 + j, &PhysicalAMacAddress.a[j]);
-            PhysicalAMacAddressSet |= PhysicalAMacAddress.a[j];
+
+	    SK_IN8(IoC, B2_MAC_2 + j, &PhysicalAMacAddress.a[j]);
+	    PhysicalAMacAddressSet |= PhysicalAMacAddress.a[j];
 		}
 
-        /* check if the two mac addresses contain reasonable values */
-        if (!VirtualMacAddressSet || !PhysicalAMacAddressSet) {
+	/* check if the two mac addresses contain reasonable values */
+	if (!VirtualMacAddressSet || !PhysicalAMacAddressSet) {
 
-            pAC->Rlmt.RlmtOff = SK_TRUE;
-        }
+	    pAC->Rlmt.RlmtOff = SK_TRUE;
+	}
 
-        /* if the two mac addresses are equal switch off the RLMT_PRE_LOOKAHEAD
-           and the RLMT_LOOKAHEAD macros */
-        else if (SK_ADDR_EQUAL(PhysicalAMacAddress.a, VirtualMacAddress.a)) {
+	/* if the two mac addresses are equal switch off the RLMT_PRE_LOOKAHEAD
+	   and the RLMT_LOOKAHEAD macros */
+	else if (SK_ADDR_EQUAL(PhysicalAMacAddress.a, VirtualMacAddress.a)) {
 
-            pAC->Rlmt.RlmtOff = SK_TRUE;
-        }
+	    pAC->Rlmt.RlmtOff = SK_TRUE;
+	}
 		else {
 			pAC->Rlmt.RlmtOff = SK_FALSE;
 		}
@@ -751,14 +751,14 @@
 
 	FirstMacUp	= NULL;
 	PrevMacUp	= NULL;
-	
+
 	if (!(pAC->Rlmt.Net[NetIdx].RlmtMode & SK_RLMT_CHECK_LOC_LINK)) {
 		for (i = 0; i < pAC->Rlmt.Net[i].NumPorts; i++) {
 			pAC->Rlmt.Net[NetIdx].Port[i]->PortsChecked = 0;
 		}
 		return;	/* Done. */
 	}
-			
+
 	SK_DBG_MSG(pAC, SK_DBGMOD_RLMT, SK_DBGCAT_CTRL,
 		("SkRlmtBuildCheckChain.\n"))
 
@@ -843,7 +843,7 @@
 #ifdef DEBUG
 	SK_U8	CheckSrc  = 0;
 	SK_U8	CheckDest = 0;
-	
+
 	for (i = 0; i < SK_MAC_ADDR_LEN; ++i) {
 		CheckSrc  |= SrcAddr->a[i];
 		CheckDest |= DestAddr->a[i];
@@ -878,7 +878,7 @@
 		for (i = 0; i < 4; i++) {
 			pPacket->Random[i] = pAC->Rlmt.Port[PortNumber].Random[i];
 		}
-		
+
 		SK_U16_TO_NETWORK_ORDER(
 			SK_RLMT_PACKET_VERSION, &pPacket->RlmtPacketVersion[0]);
 
@@ -1156,7 +1156,7 @@
 	if ((pRPort->PacketsPerTimeSlot - pRPort->BpduPacketsPerTimeSlot) != 0) {
 		SkRlmtPortReceives(pAC, IoC, PortNumber);
 	}
-	
+
 	/* Check destination address. */
 
 	if (!SK_ADDR_EQUAL(pAPort->CurrentMacAddress.a, pRPacket->DstAddr) &&
@@ -1544,7 +1544,7 @@
 				PortNumber,
 				pRPort->PacketsPerTimeSlot - pRPort->BpduPacketsPerTimeSlot,
 				pRPort->PacketsPerTimeSlot))
-		
+
 		SkRlmtPortReceives(pAC, IoC, PortNumber);
 		if (pAC->Rlmt.CheckSwitch) {
 			SkRlmtCheckSwitch(pAC, IoC, pRPort->Net->NetNumber);
@@ -1584,14 +1584,14 @@
 
 	BcTimeStamp = 0;	/* Not totally necessary, but feeling better. */
 	PortFound = SK_FALSE;
-	
+
 	/* Select port with the latest TimeStamp. */
 	for (i = 0; i < (SK_U32)pAC->GIni.GIMacsFound; i++) {
 
 		SK_DBG_MSG(pAC, SK_DBGMOD_RLMT, SK_DBGCAT_CTRL,
 			("TimeStamp Port %d (Down: %d, NoRx: %d): %08x %08x.\n",
 				i,
-   				pAC->Rlmt.Port[i].PortDown, pAC->Rlmt.Port[i].PortNoRx,
+				pAC->Rlmt.Port[i].PortDown, pAC->Rlmt.Port[i].PortNoRx,
 				*((SK_U32*)(&pAC->Rlmt.Port[i].BcTimeStamp) + OFFS_HI32),
 				*((SK_U32*)(&pAC->Rlmt.Port[i].BcTimeStamp) + OFFS_LO32)))
 
@@ -1619,7 +1619,7 @@
 				pAC->Rlmt.Port[i].BcTimeStamp +
 				 SK_RLMT_BC_DELTA > BcTimeStamp)) {
 				PortFound = SK_FALSE;
-				
+
 				SK_DBG_MSG(pAC, SK_DBGMOD_RLMT, SK_DBGCAT_CTRL,
 					("Port %d received a broadcast at a similar time.\n", i))
 				break;
@@ -1974,7 +1974,7 @@
 		/* check of ChgBcPrio flag added */
 		if ((pAC->Rlmt.Net[0].RlmtMode != SK_RLMT_MODE_CLS) &&
 			(!pAC->Rlmt.Net[0].ChgBcPrio)) {
-			
+
 			if (!PortFound) {
 				PortFound = SkRlmtSelectBcRx(
 					pAC, IoC, Active, PrefPort, &Para.Para32[1]);
@@ -2130,7 +2130,7 @@
 				break;
 			}
 		}
-		
+
 		if (!Equal) {
 			SK_ERR_LOG(pAC, SK_ERRCL_COMM, SKERR_RLMT_E005, SKERR_RLMT_E005_MSG);
 			Para.Para32[0] = NetIdx;
@@ -2330,7 +2330,7 @@
 	Para2.Para32[1] = (SK_U32)-1;
 	SkTimerStart(pAC, IoC, &pRPort->UpTimer, SK_RLMT_PORTUP_TIM_VAL,
 		SKGE_RLMT, SK_RLMT_PORTUP_TIM, Para2);
-	
+
 	/* Later: if (pAC->Rlmt.RlmtMode & SK_RLMT_CHECK_LOC_LINK) && */
 	if ((pRPort->Net->RlmtMode & SK_RLMT_TRANSPARENT) == 0 &&
 		(pRPort->Net->RlmtMode & SK_RLMT_CHECK_LINK) != 0 &&
@@ -2457,7 +2457,7 @@
 			("SK_RLMT_PORTDOWN* Event (%d) EMPTY.\n", Event))
 		return;
 	}
-	
+
 	/* Stop port's timers. */
 	SkTimerStop(pAC, IoC, &pRPort->UpTimer);
 	SkTimerStop(pAC, IoC, &pRPort->DownRxTimer);
@@ -2947,7 +2947,7 @@
 		}
 	}
 #endif	/* xDEBUG */
-				
+
 	SkRlmtCheckSeg(pAC, IoC, Para.Para32[0]);
 
 	SK_DBG_MSG(pAC, SK_DBGMOD_RLMT, SK_DBGCAT_CTRL,
@@ -2978,7 +2978,7 @@
 	SK_MBUF	*pNextMb;
 	SK_U32	NetNumber;
 
-	
+
 	SK_DBG_MSG(pAC, SK_DBGMOD_RLMT, SK_DBGCAT_CTRL,
 		("SK_RLMT_PACKET_RECEIVED Event BEGIN.\n"))
 
@@ -3261,7 +3261,7 @@
 		pAC->Rlmt.Net[1].NumPorts = pAC->GIni.GIMacsFound - 1;
 		pAC->Rlmt.Net[0].NumPorts =
 			pAC->GIni.GIMacsFound - pAC->Rlmt.Net[1].NumPorts;
-		
+
 		pAC->Rlmt.NumNets = Para.Para32[0];
 		for (i = 0; (SK_U32)i < pAC->Rlmt.NumNets; i++) {
 			pAC->Rlmt.Net[i].RlmtState = SK_RLMT_RS_INIT;
@@ -3432,7 +3432,7 @@
 SK_EVPARA	Para)	/* Event-specific parameter */
 {
 	switch (Event) {
-	
+
 	/* ----- PORT events ----- */
 
 	case SK_RLMT_PORTSTART_TIM:	/* From RLMT via TIME. */