diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/arm/at91_ether.c | 4 | ||||
-rw-r--r-- | drivers/net/irda/pxaficp_ir.c | 11 |
3 files changed, 15 insertions, 2 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index fe7b5ec09708..124d29f5fa0c 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -2415,7 +2415,7 @@ config UGETH_TX_ON_DEMAND | |||
2415 | 2415 | ||
2416 | config MV643XX_ETH | 2416 | config MV643XX_ETH |
2417 | tristate "Marvell Discovery (643XX) and Orion ethernet support" | 2417 | tristate "Marvell Discovery (643XX) and Orion ethernet support" |
2418 | depends on MV64360 || MV64X60 || (PPC_MULTIPLATFORM && PPC32) || ARCH_ORION | 2418 | depends on MV64360 || MV64X60 || (PPC_MULTIPLATFORM && PPC32) || PLAT_ORION |
2419 | select MII | 2419 | select MII |
2420 | help | 2420 | help |
2421 | This driver supports the gigabit ethernet MACs in the | 2421 | This driver supports the gigabit ethernet MACs in the |
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 0ae0d83e5d22..978e20a1791b 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c | |||
@@ -1043,7 +1043,9 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
1043 | } else if (machine_is_csb337()) { | 1043 | } else if (machine_is_csb337()) { |
1044 | /* mix link activity status into LED2 link state */ | 1044 | /* mix link activity status into LED2 link state */ |
1045 | write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22); | 1045 | write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22); |
1046 | } | 1046 | } else if (machine_is_ecbat91()) |
1047 | write_phy(phy_address, MII_LEDCTRL_REG, 0x156A); | ||
1048 | |||
1047 | disable_mdi(); | 1049 | disable_mdi(); |
1048 | spin_unlock_irq(&lp->lock); | 1050 | spin_unlock_irq(&lp->lock); |
1049 | 1051 | ||
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index 8c09344f58dc..8db71ab20456 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/hardware.h> | 36 | #include <asm/hardware.h> |
37 | #include <asm/arch/irda.h> | 37 | #include <asm/arch/irda.h> |
38 | #include <asm/arch/pxa-regs.h> | 38 | #include <asm/arch/pxa-regs.h> |
39 | #include <asm/arch/pxa2xx-gpio.h> | ||
39 | 40 | ||
40 | #ifdef CONFIG_MACH_MAINSTONE | 41 | #ifdef CONFIG_MACH_MAINSTONE |
41 | #include <asm/arch/mainstone.h> | 42 | #include <asm/arch/mainstone.h> |
@@ -831,6 +832,11 @@ static int pxa_irda_probe(struct platform_device *pdev) | |||
831 | if (err) | 832 | if (err) |
832 | goto err_mem_5; | 833 | goto err_mem_5; |
833 | 834 | ||
835 | if (si->pdata->startup) | ||
836 | err = si->pdata->startup(si->dev); | ||
837 | if (err) | ||
838 | goto err_startup; | ||
839 | |||
834 | dev->hard_start_xmit = pxa_irda_hard_xmit; | 840 | dev->hard_start_xmit = pxa_irda_hard_xmit; |
835 | dev->open = pxa_irda_start; | 841 | dev->open = pxa_irda_start; |
836 | dev->stop = pxa_irda_stop; | 842 | dev->stop = pxa_irda_stop; |
@@ -856,6 +862,9 @@ static int pxa_irda_probe(struct platform_device *pdev) | |||
856 | dev_set_drvdata(&pdev->dev, dev); | 862 | dev_set_drvdata(&pdev->dev, dev); |
857 | 863 | ||
858 | if (err) { | 864 | if (err) { |
865 | if (si->pdata->shutdown) | ||
866 | si->pdata->shutdown(si->dev); | ||
867 | err_startup: | ||
859 | kfree(si->tx_buff.head); | 868 | kfree(si->tx_buff.head); |
860 | err_mem_5: | 869 | err_mem_5: |
861 | kfree(si->rx_buff.head); | 870 | kfree(si->rx_buff.head); |
@@ -881,6 +890,8 @@ static int pxa_irda_remove(struct platform_device *_dev) | |||
881 | if (dev) { | 890 | if (dev) { |
882 | struct pxa_irda *si = netdev_priv(dev); | 891 | struct pxa_irda *si = netdev_priv(dev); |
883 | unregister_netdev(dev); | 892 | unregister_netdev(dev); |
893 | if (si->pdata->shutdown) | ||
894 | si->pdata->shutdown(si->dev); | ||
884 | kfree(si->tx_buff.head); | 895 | kfree(si->tx_buff.head); |
885 | kfree(si->rx_buff.head); | 896 | kfree(si->rx_buff.head); |
886 | clk_put(si->fir_clk); | 897 | clk_put(si->fir_clk); |