diff options
Diffstat (limited to 'drivers/net/davinci_emac.c')
-rw-r--r-- | drivers/net/davinci_emac.c | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index a876dce13b9e..f1b09c0992b4 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c | |||
@@ -2806,11 +2806,33 @@ static int __devexit davinci_emac_remove(struct platform_device *pdev) | |||
2806 | return 0; | 2806 | return 0; |
2807 | } | 2807 | } |
2808 | 2808 | ||
2809 | static | ||
2810 | int davinci_emac_suspend(struct platform_device *pdev, pm_message_t state) | ||
2811 | { | ||
2812 | struct net_device *dev = platform_get_drvdata(pdev); | ||
2813 | |||
2814 | if (netif_running(dev)) | ||
2815 | emac_dev_stop(dev); | ||
2816 | |||
2817 | clk_disable(emac_clk); | ||
2818 | |||
2819 | return 0; | ||
2820 | } | ||
2821 | |||
2822 | static int davinci_emac_resume(struct platform_device *pdev) | ||
2823 | { | ||
2824 | struct net_device *dev = platform_get_drvdata(pdev); | ||
2825 | |||
2826 | clk_enable(emac_clk); | ||
2827 | |||
2828 | if (netif_running(dev)) | ||
2829 | emac_dev_open(dev); | ||
2830 | |||
2831 | return 0; | ||
2832 | } | ||
2833 | |||
2809 | /** | 2834 | /** |
2810 | * davinci_emac_driver: EMAC platform driver structure | 2835 | * davinci_emac_driver: EMAC platform driver structure |
2811 | * | ||
2812 | * We implement only probe and remove functions - suspend/resume and | ||
2813 | * others not supported by this module | ||
2814 | */ | 2836 | */ |
2815 | static struct platform_driver davinci_emac_driver = { | 2837 | static struct platform_driver davinci_emac_driver = { |
2816 | .driver = { | 2838 | .driver = { |
@@ -2819,6 +2841,8 @@ static struct platform_driver davinci_emac_driver = { | |||
2819 | }, | 2841 | }, |
2820 | .probe = davinci_emac_probe, | 2842 | .probe = davinci_emac_probe, |
2821 | .remove = __devexit_p(davinci_emac_remove), | 2843 | .remove = __devexit_p(davinci_emac_remove), |
2844 | .suspend = davinci_emac_suspend, | ||
2845 | .resume = davinci_emac_resume, | ||
2822 | }; | 2846 | }; |
2823 | 2847 | ||
2824 | /** | 2848 | /** |