"ethernet_regs" in include/mpc512x.h duplicates "fec512x_t" in include/asm-ppc/immap_512x.h; switch to using the latter so we can remove include/mpc512x.h later.
Signed-off-by: Wolfgang Denk <w...@denx.de> Cc: John Rigby <jcri...@gmail.com> --- drivers/net/mpc512x_fec.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/net/mpc512x_fec.c b/drivers/net/mpc512x_fec.c index 7078c4e..8fcced5 100644 --- a/drivers/net/mpc512x_fec.c +++ b/drivers/net/mpc512x_fec.c @@ -605,6 +605,8 @@ static int mpc512x_fec_recv (struct eth_device *dev) /********************************************************************/ int mpc512x_fec_initialize (bd_t * bis) { + volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; + volatile fec512x_t *fec512x = &im->fec; mpc512x_fec_priv *fec; struct eth_device *dev; int i; @@ -615,7 +617,7 @@ int mpc512x_fec_initialize (bd_t * bis) dev = (struct eth_device *) malloc (sizeof(*dev)); memset (dev, 0, sizeof *dev); - fec->eth = (ethernet_regs *) MPC512X_FEC; + fec->eth = (ethernet_regs *)fec512x; # ifndef CONFIG_FEC_10MBIT fec->xcv_type = MII100; @@ -623,7 +625,7 @@ int mpc512x_fec_initialize (bd_t * bis) fec->xcv_type = MII10; # endif dev->priv = (void *)fec; - dev->iobase = MPC512X_FEC; + dev->iobase = (int)fec512x; dev->init = mpc512x_fec_init; dev->halt = mpc512x_fec_halt; dev->send = mpc512x_fec_send; @@ -638,7 +640,8 @@ int mpc512x_fec_initialize (bd_t * bis) #endif /* Clean up space FEC's MIB and FIFO RAM ...*/ - memset ((void *) MPC512X_FEC + 0x200, 0x00, 0x400); + memset ((void *)&im->fec.mib, 0x00, sizeof(im->fec.mib)); + memset ((void *)&im->fec.fifo, 0x00, sizeof(im->fec.fifo)); /* * Malloc space for BDs (must be quad word-aligned) @@ -684,7 +687,9 @@ int mpc512x_fec_initialize (bd_t * bis) /********************************************************************/ int fec512x_miiphy_read (char *devname, uint8 phyAddr, uint8 regAddr, uint16 * retVal) { - ethernet_regs *eth = (ethernet_regs *) MPC512X_FEC; + volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; + volatile fec512x_t *fec512x = &im->fec; + ethernet_regs *eth = (ethernet_regs *)fec512x; uint32 reg; /* convenient holder for the PHY register */ uint32 phy; /* convenient holder for the PHY */ int timeout = 0xffff; @@ -726,7 +731,9 @@ int fec512x_miiphy_read (char *devname, uint8 phyAddr, uint8 regAddr, uint16 * r /********************************************************************/ int fec512x_miiphy_write (char *devname, uint8 phyAddr, uint8 regAddr, uint16 data) { - ethernet_regs *eth = (ethernet_regs *) MPC512X_FEC; + volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR; + volatile fec512x_t *fec512x = &im->fec; + ethernet_regs *eth = (ethernet_regs *)fec512x; uint32 reg; /* convenient holder for the PHY register */ uint32 phy; /* convenient holder for the PHY */ int timeout = 0xffff; -- 1.6.0.6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot