Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6
[pandora-kernel.git] / drivers / staging / rtl8192su / r8192U_pm.c
1 /*
2    Power management interface routines.
3    Written by Mariusz Matuszek.
4    This code is currently just a placeholder for later work and
5    does not do anything useful.
6
7    This is part of rtl8180 OpenSource driver.
8    Copyright (C) Andrea Merello 2004  <andreamrl@tiscali.it>
9    Released under the terms of GPL (General Public Licence)
10 */
11
12 #ifdef CONFIG_RTL8192_PM
13 #include "r8192U.h"
14 #include "r8192U_pm.h"
15
16 /*****************************************************************************/
17 int rtl8192U_save_state (struct pci_dev *dev, u32 state)
18 {
19         printk(KERN_NOTICE "r8192U save state call (state %u).\n", state);
20         return(-EAGAIN);
21 }
22
23 int rtl8192U_suspend(struct usb_interface *intf, pm_message_t state)
24 {
25 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
26         struct net_device *dev = usb_get_intfdata(intf);
27 #else
28         //struct net_device *dev = (struct net_device *)ptr;
29 #endif
30         RT_TRACE(COMP_POWER, "============> r8192U suspend call.\n");
31
32         if(dev) {
33                  if (!netif_running(dev)) {
34                       printk(KERN_WARNING "netif not running, go out suspend function\n");
35                       return 0;
36                  }
37
38                 if (dev->netdev_ops->ndo_stop)
39                         dev->netdev_ops->ndo_stop(dev);
40
41                 mdelay(10);
42
43                 netif_device_detach(dev);
44         }
45
46         return 0;
47 }
48
49 int rtl8192U_resume (struct usb_interface *intf)
50 {
51 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
52         struct net_device *dev = usb_get_intfdata(intf);
53 #else
54         //struct net_device *dev = (struct net_device *)ptr;
55 #endif
56
57         RT_TRACE(COMP_POWER, "================>r8192U resume call.");
58
59         if(dev) {
60                 if (!netif_running(dev)){
61                         printk(KERN_WARNING "netif not running, go out resume function\n");
62                         return 0;
63                 }
64
65                 netif_device_attach(dev);
66
67                 if (dev->netdev_ops->ndo_open)
68                         dev->netdev_ops->ndo_open(dev);
69         }
70
71         return 0;
72 }
73
74 int rtl8192U_enable_wake (struct pci_dev *dev, u32 state, int enable)
75 {
76         printk(KERN_NOTICE "r8192U enable wake call (state %u, enable %d).\n",
77                         state, enable);
78         return(-EAGAIN);
79 }
80
81 #endif //CONFIG_RTL8192_PM