[PATCH 5/5] Updates for WRS SBC82xx boards
Paul Gortmaker
paul.gortmaker at windriver.com
Fri May 26 04:32:32 EST 2006
patch5: fcc_enet-mac-addr.diff1
- restore proper collection of mac addr data in obsolete FCC
driver by replacing mix of #ifdef and if() with case
Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com>
--- linux-2.6.16_rc5/arch/ppc/8260_io/fcc_enet.c.orig 2006-01-02 22:21:10.000000000 -0500
+++ linux-2.6.16_rc5/arch/ppc/8260_io/fcc_enet.c 2006-02-27 18:01:45.000000000 -0500
@@ -1962,32 +1962,30 @@
* non-static part of the address.
*/
eap = (unsigned char *)&(ep->fen_paddrh);
- for (i=5; i>=0; i--) {
/*
* The EP8260 only uses FCC3, so we can safely give it the real
* MAC address.
*/
+ for (i=5; i>=0; i--) switch(i) {
+ case 5:
#ifdef CONFIG_SBC82xx
- if (i == 5) {
/* bd->bi_enetaddr holds the SCC0 address; the FCC
devices count up from there */
dev->dev_addr[i] = bd->bi_enetaddr[i] & ~3;
dev->dev_addr[i] += 1 + fip->fc_fccnum;
*eap++ = dev->dev_addr[i];
- }
-#else
-#ifndef CONFIG_RPX8260
- if (i == 3) {
+ break;
+#endif
+ case 3:
+#if !defined(CONFIG_RPX8260) && !defined(CONFIG_SBC82xx)
dev->dev_addr[i] = bd->bi_enetaddr[i];
dev->dev_addr[i] |= (1 << (7 - fip->fc_fccnum));
*eap++ = dev->dev_addr[i];
- } else
+ break;
#endif
- {
+ default:
*eap++ = dev->dev_addr[i] = bd->bi_enetaddr[i];
- }
-#endif
}
ep->fen_taddrh = 0;
More information about the Linuxppc-embedded
mailing list