From: Greg Ungerer Date: Mon, 30 Jul 2007 06:29:16 +0000 (+1000) Subject: clean up reading of ICR register in FEC driver X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f861d62e12d3f732a36634e9e6b3b7b0112fef60;p=linux-beck.git clean up reading of ICR register in FEC driver On the MCF5272, there is no need to read the ICR before writing it : the bit 4n+3 is a write-enable for the bits 4n,4n+1 and 4n+2. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds --- diff --git a/drivers/net/fec.c b/drivers/net/fec.c index 91daf0785ee8..ff7e449ad573 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c @@ -1270,7 +1270,7 @@ static void __inline__ fec_request_intrs(struct net_device *dev) icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR3); *icrp = 0x00000ddd; icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1); - *icrp = (*icrp & 0x70777777) | 0x0d000000; + *icrp = 0x0d000000; } static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep) @@ -1332,7 +1332,7 @@ static void __inline__ fec_disable_phy_intr(void) { volatile unsigned long *icrp; icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1); - *icrp = (*icrp & 0x70777777) | 0x08000000; + *icrp = 0x08000000; } static void __inline__ fec_phy_ack_intr(void) @@ -1340,7 +1340,7 @@ static void __inline__ fec_phy_ack_intr(void) volatile unsigned long *icrp; /* Acknowledge the interrupt */ icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1); - *icrp = (*icrp & 0x77777777) | 0x08000000; + *icrp = 0x0d000000; } static void __inline__ fec_localhw_setup(void)