aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/fec.c
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-07-06 22:13:23 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-09-15 19:43:54 -0400
commit49802967cb7ec4f36a64e192108babe1c3b67e8e (patch)
tree4e869066f37e6215f7dd6c66c76395f7b1332c92 /drivers/net/fec.c
parent9075216d2c8761c91dc268125f6580af3ffc58b5 (diff)
m68knommu: remove ColdFire direct interrupt register access
Now that the ColdFire 5272 has full interrupt controller functionality we can remove all the interrupt masking and acking code from the FEC ethernet driver. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r--drivers/net/fec.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index c9fd82d3a80d..a32230bbe195 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1142,19 +1142,9 @@ static void __inline__ fec_request_mii_intr(struct net_device *dev)
1142 printk("FEC: Could not allocate fec(MII) IRQ(66)!\n"); 1142 printk("FEC: Could not allocate fec(MII) IRQ(66)!\n");
1143} 1143}
1144 1144
1145static void __inline__ fec_disable_phy_intr(void) 1145static void __inline__ fec_disable_phy_intr(struct net_device *dev)
1146{ 1146{
1147 volatile unsigned long *icrp; 1147 free_irq(66, dev);
1148 icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1);
1149 *icrp = 0x08000000;
1150}
1151
1152static void __inline__ fec_phy_ack_intr(void)
1153{
1154 volatile unsigned long *icrp;
1155 /* Acknowledge the interrupt */
1156 icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1);
1157 *icrp = 0x0d000000;
1158} 1148}
1159#endif 1149#endif
1160 1150
@@ -1386,7 +1376,7 @@ mii_discover_phy(uint mii_reg, struct net_device *dev)
1386 writel(0, fep->hwp + FEC_MII_SPEED); 1376 writel(0, fep->hwp + FEC_MII_SPEED);
1387 fep->phy_speed = 0; 1377 fep->phy_speed = 0;
1388#ifdef HAVE_mii_link_interrupt 1378#ifdef HAVE_mii_link_interrupt
1389 fec_disable_phy_intr(); 1379 fec_disable_phy_intr(dev);
1390#endif 1380#endif
1391 } 1381 }
1392} 1382}
@@ -1399,8 +1389,6 @@ mii_link_interrupt(int irq, void * dev_id)
1399 struct net_device *dev = dev_id; 1389 struct net_device *dev = dev_id;
1400 struct fec_enet_private *fep = netdev_priv(dev); 1390 struct fec_enet_private *fep = netdev_priv(dev);
1401 1391
1402 fec_phy_ack_intr();
1403
1404 mii_do_cmd(dev, fep->phy->ack_int); 1392 mii_do_cmd(dev, fep->phy->ack_int);
1405 mii_do_cmd(dev, phy_cmd_relink); /* restart and display status */ 1393 mii_do_cmd(dev, phy_cmd_relink); /* restart and display status */
1406 1394