diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-17 12:52:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-17 12:52:43 -0400 |
commit | 66bc4a6f34a950c7aede597c578352c3eba82017 (patch) | |
tree | d8005bd9abc0209cff47072d7e48cf19fddc52f5 /drivers/net/fec.c | |
parent | 96c015b75feaaa67c8744229937bd9c35919d16b (diff) | |
parent | 2985709d7f3078c7609ae7f16affc0fb478d7d7a (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits)
m68knommu: Make PAGE_SIZE available to assembly files.
m68knommu: fix ColdFire definition of CLOCK_TICK_RATE
m68knommu: set multi-function pins for ethernet when enabled
m68knommu: remove special interrupt handling code for ne2k support
m68knommu: relax IO_SPACE_LIMIT setting
m68knommu: remove ColdFire direct interrupt register access
m68knommu: create a speciailized ColdFire 5272 interrupt controller
m68knommu: add support for second interrupt controller of ColdFire 5249
m68knommu: clean up old ColdFire timer irq setup
m68knommu: map ColdFire interrupts to correct masking bits
m68knommu: clean up ColdFire 532x CPU timer setup
m68knommu: simplify ColdFire "timers" clock initialization
m68knommu: support code to mask external interrupts on old ColdFire CPU's
m68knommu: merge old ColdFire interrupt controller masking macros
m68knommu: remove duplicate ColdFire mcf_autovector() code
m68knommu: move ColdFire INTC definitions to new include file
m68knommu: mask off all interrupts in ColdFire intc-simr controller
m68knommu: remove timer device interrupt setup for ColdFire 532x
m68knommu: remove interrupt masking from ColdFire pit timer
m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup
...
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r-- | drivers/net/fec.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index b47201874d84..29234380e6c6 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c | |||
@@ -1154,19 +1154,9 @@ static void __inline__ fec_request_mii_intr(struct net_device *dev) | |||
1154 | printk("FEC: Could not allocate fec(MII) IRQ(66)!\n"); | 1154 | printk("FEC: Could not allocate fec(MII) IRQ(66)!\n"); |
1155 | } | 1155 | } |
1156 | 1156 | ||
1157 | static void __inline__ fec_disable_phy_intr(void) | 1157 | static void __inline__ fec_disable_phy_intr(struct net_device *dev) |
1158 | { | 1158 | { |
1159 | volatile unsigned long *icrp; | 1159 | free_irq(66, dev); |
1160 | icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1); | ||
1161 | *icrp = 0x08000000; | ||
1162 | } | ||
1163 | |||
1164 | static void __inline__ fec_phy_ack_intr(void) | ||
1165 | { | ||
1166 | volatile unsigned long *icrp; | ||
1167 | /* Acknowledge the interrupt */ | ||
1168 | icrp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_ICR1); | ||
1169 | *icrp = 0x0d000000; | ||
1170 | } | 1160 | } |
1171 | #endif | 1161 | #endif |
1172 | 1162 | ||
@@ -1398,7 +1388,7 @@ mii_discover_phy(uint mii_reg, struct net_device *dev) | |||
1398 | writel(0, fep->hwp + FEC_MII_SPEED); | 1388 | writel(0, fep->hwp + FEC_MII_SPEED); |
1399 | fep->phy_speed = 0; | 1389 | fep->phy_speed = 0; |
1400 | #ifdef HAVE_mii_link_interrupt | 1390 | #ifdef HAVE_mii_link_interrupt |
1401 | fec_disable_phy_intr(); | 1391 | fec_disable_phy_intr(dev); |
1402 | #endif | 1392 | #endif |
1403 | } | 1393 | } |
1404 | } | 1394 | } |
@@ -1411,8 +1401,6 @@ mii_link_interrupt(int irq, void * dev_id) | |||
1411 | struct net_device *dev = dev_id; | 1401 | struct net_device *dev = dev_id; |
1412 | struct fec_enet_private *fep = netdev_priv(dev); | 1402 | struct fec_enet_private *fep = netdev_priv(dev); |
1413 | 1403 | ||
1414 | fec_phy_ack_intr(); | ||
1415 | |||
1416 | mii_do_cmd(dev, fep->phy->ack_int); | 1404 | mii_do_cmd(dev, fep->phy->ack_int); |
1417 | mii_do_cmd(dev, phy_cmd_relink); /* restart and display status */ | 1405 | mii_do_cmd(dev, phy_cmd_relink); /* restart and display status */ |
1418 | 1406 | ||