blob: 60d739b85eb7e78b49c96b9f2e62fa8283111f8d [file] [log] [blame]
Jerry Chuang5f53d8c2009-05-21 22:16:02 -07001/*
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
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070012#include "r8192U.h"
13#include "r8192U_pm.h"
14
15/*****************************************************************************/
16int rtl8192U_save_state (struct pci_dev *dev, u32 state)
17{
18 printk(KERN_NOTICE "r8192U save state call (state %u).\n", state);
19 return(-EAGAIN);
20}
21
22int rtl8192U_suspend(struct usb_interface *intf, pm_message_t state)
23{
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070024 struct net_device *dev = usb_get_intfdata(intf);
Bartlomiej Zolnierkiewicz1ec9e482009-06-13 18:35:04 +020025
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070026 RT_TRACE(COMP_POWER, "============> r8192U suspend call.\n");
27
28 if(dev) {
29 if (!netif_running(dev)) {
30 printk(KERN_WARNING "netif not running, go out suspend function\n");
31 return 0;
32 }
33
Bartlomiej Zolnierkiewicz77b92882009-06-11 20:49:07 +020034 if (dev->netdev_ops->ndo_stop)
35 dev->netdev_ops->ndo_stop(dev);
36
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070037 mdelay(10);
38
39 netif_device_detach(dev);
40 }
41
42 return 0;
43}
44
45int rtl8192U_resume (struct usb_interface *intf)
46{
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070047 struct net_device *dev = usb_get_intfdata(intf);
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070048
49 RT_TRACE(COMP_POWER, "================>r8192U resume call.");
50
51 if(dev) {
52 if (!netif_running(dev)){
53 printk(KERN_WARNING "netif not running, go out resume function\n");
54 return 0;
55 }
56
57 netif_device_attach(dev);
Bartlomiej Zolnierkiewicz77b92882009-06-11 20:49:07 +020058
59 if (dev->netdev_ops->ndo_open)
60 dev->netdev_ops->ndo_open(dev);
Jerry Chuang5f53d8c2009-05-21 22:16:02 -070061 }
62
63 return 0;
64}
65
66int rtl8192U_enable_wake (struct pci_dev *dev, u32 state, int enable)
67{
68 printk(KERN_NOTICE "r8192U enable wake call (state %u, enable %d).\n",
69 state, enable);
70 return(-EAGAIN);
71}
72