diff options
author | David S. Miller <davem@davemloft.net> | 2008-10-30 23:50:18 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-30 23:50:18 -0700 |
commit | 194dcdba5a11a0238aef7ed91f32df77cb31505b (patch) | |
tree | ad9b2e763d702ab59d176f3acc57dbb200afdad1 /drivers/net/arm/at91_ether.c | |
parent | 19b8cba2e8539e3b8022316f94837d8f242b8f80 (diff) | |
parent | bdb59f949d663b7e943fb5f40b2557af4314abf9 (diff) | |
download | op-kernel-dev-194dcdba5a11a0238aef7ed91f32df77cb31505b.zip op-kernel-dev-194dcdba5a11a0238aef7ed91f32df77cb31505b.tar.gz |
Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
Diffstat (limited to 'drivers/net/arm/at91_ether.c')
-rw-r--r-- | drivers/net/arm/at91_ether.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 0fa5346..6f431a8 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c @@ -1080,7 +1080,8 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add init_timer(&lp->check_timer); lp->check_timer.data = (unsigned long)dev; lp->check_timer.function = at91ether_check_link; - } + } else if (lp->board_data.phy_irq_pin >= 32) + gpio_request(lp->board_data.phy_irq_pin, "ethernet_phy"); /* Display ethernet banner */ printk(KERN_INFO "%s: AT91 ethernet at 0x%08x int=%d %s%s (%s)\n", @@ -1167,6 +1168,9 @@ static int __devexit at91ether_remove(struct platform_device *pdev) struct net_device *dev = platform_get_drvdata(pdev); struct at91_private *lp = netdev_priv(dev); + if (lp->board_data.phy_irq_pin >= 32) + gpio_free(lp->board_data.phy_irq_pin); + unregister_netdev(dev); free_irq(dev->irq, dev); dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); |