aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/pci.txt3
-rw-r--r--Documentation/power/pci.txt37
-rw-r--r--drivers/net/typhoon.c7
-rw-r--r--drivers/net/wireless/hostap/hostap_pci.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_plx.c3
-rw-r--r--drivers/net/wireless/prism54/islpci_hotplug.c1
-rw-r--r--drivers/scsi/nsp32.c10
-rw-r--r--include/linux/pci.h1
8 files changed, 0 insertions, 64 deletions
diff --git a/Documentation/pci.txt b/Documentation/pci.txt
index d38261b67905..7d3da30ff0b4 100644
--- a/Documentation/pci.txt
+++ b/Documentation/pci.txt
@@ -113,9 +113,6 @@ initialization with a pointer to a structure describing the driver
113 (Please see Documentation/power/pci.txt for descriptions 113 (Please see Documentation/power/pci.txt for descriptions
114 of PCI Power Management and the related functions.) 114 of PCI Power Management and the related functions.)
115 115
116 enable_wake Enable device to generate wake events from a low power
117 state.
118
119 shutdown Hook into reboot_notifier_list (kernel/sys.c). 116 shutdown Hook into reboot_notifier_list (kernel/sys.c).
120 Intended to stop any idling DMA operations. 117 Intended to stop any idling DMA operations.
121 Useful for enabling wake-on-lan (NIC) or changing 118 Useful for enabling wake-on-lan (NIC) or changing
diff --git a/Documentation/power/pci.txt b/Documentation/power/pci.txt
index e00b099a4b86..dd8fe43888d3 100644
--- a/Documentation/power/pci.txt
+++ b/Documentation/power/pci.txt
@@ -164,7 +164,6 @@ struct pci_driver:
164 164
165 int (*suspend) (struct pci_dev *dev, pm_message_t state); 165 int (*suspend) (struct pci_dev *dev, pm_message_t state);
166 int (*resume) (struct pci_dev *dev); 166 int (*resume) (struct pci_dev *dev);
167 int (*enable_wake) (struct pci_dev *dev, pci_power_t state, int enable);
168 167
169 168
170suspend 169suspend
@@ -251,42 +250,6 @@ The driver should update the current_state field in its pci_dev structure in
251this function, except for PM-capable devices when pci_set_power_state is used. 250this function, except for PM-capable devices when pci_set_power_state is used.
252 251
253 252
254enable_wake
255-----------
256
257Usage:
258
259if (dev->driver && dev->driver->enable_wake)
260 dev->driver->enable_wake(dev,state,enable);
261
262This callback is generally only relevant for devices that support the PCI PM
263spec and have the ability to generate a PME# (Power Management Event Signal)
264to wake the system up. (However, it is possible that a device may support
265some non-standard way of generating a wake event on sleep.)
266
267Bits 15:11 of the PMC (Power Mgmt Capabilities) Register in a device's
268PM Capabilities describe what power states the device supports generating a
269wake event from:
270
271+------------------+
272| Bit | State |
273+------------------+
274| 11 | D0 |
275| 12 | D1 |
276| 13 | D2 |
277| 14 | D3hot |
278| 15 | D3cold |
279+------------------+
280
281A device can use this to enable wake events:
282
283 pci_enable_wake(dev,state,enable);
284
285Note that to enable PME# from D3cold, a value of 4 should be passed to
286pci_enable_wake (since it uses an index into a bitmask). If a driver gets
287a request to enable wake events from D3, two calls should be made to
288pci_enable_wake (one for both D3hot and D3cold).
289
290 253
291A reference implementation 254A reference implementation
292------------------------- 255-------------------------
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index 15b2fb8aa492..0f2c0610ed71 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -2267,12 +2267,6 @@ need_resume:
2267 typhoon_resume(pdev); 2267 typhoon_resume(pdev);
2268 return -EBUSY; 2268 return -EBUSY;
2269} 2269}
2270
2271static int
2272typhoon_enable_wake(struct pci_dev *pdev, pci_power_t state, int enable)
2273{
2274 return pci_enable_wake(pdev, state, enable);
2275}
2276#endif 2270#endif
2277 2271
2278static int __devinit 2272static int __devinit
@@ -2636,7 +2630,6 @@ static struct pci_driver typhoon_driver = {
2636#ifdef CONFIG_PM 2630#ifdef CONFIG_PM
2637 .suspend = typhoon_suspend, 2631 .suspend = typhoon_suspend,
2638 .resume = typhoon_resume, 2632 .resume = typhoon_resume,
2639 .enable_wake = typhoon_enable_wake,
2640#endif 2633#endif
2641}; 2634};
2642 2635
diff --git a/drivers/net/wireless/hostap/hostap_pci.c b/drivers/net/wireless/hostap/hostap_pci.c
index 0cd48d151f5e..7da3664b8515 100644
--- a/drivers/net/wireless/hostap/hostap_pci.c
+++ b/drivers/net/wireless/hostap/hostap_pci.c
@@ -453,8 +453,6 @@ static struct pci_driver prism2_pci_drv_id = {
453 .suspend = prism2_pci_suspend, 453 .suspend = prism2_pci_suspend,
454 .resume = prism2_pci_resume, 454 .resume = prism2_pci_resume,
455#endif /* CONFIG_PM */ 455#endif /* CONFIG_PM */
456 /* Linux 2.4.6 added save_state and enable_wake that are not used here
457 */
458}; 456};
459 457
460 458
diff --git a/drivers/net/wireless/hostap/hostap_plx.c b/drivers/net/wireless/hostap/hostap_plx.c
index 0183df757b3e..040dc3e36410 100644
--- a/drivers/net/wireless/hostap/hostap_plx.c
+++ b/drivers/net/wireless/hostap/hostap_plx.c
@@ -613,9 +613,6 @@ static struct pci_driver prism2_plx_drv_id = {
613 .id_table = prism2_plx_id_table, 613 .id_table = prism2_plx_id_table,
614 .probe = prism2_plx_probe, 614 .probe = prism2_plx_probe,
615 .remove = prism2_plx_remove, 615 .remove = prism2_plx_remove,
616 .suspend = NULL,
617 .resume = NULL,
618 .enable_wake = NULL
619}; 616};
620 617
621 618
diff --git a/drivers/net/wireless/prism54/islpci_hotplug.c b/drivers/net/wireless/prism54/islpci_hotplug.c
index 3dcb13bb7d57..25d6c80c9bab 100644
--- a/drivers/net/wireless/prism54/islpci_hotplug.c
+++ b/drivers/net/wireless/prism54/islpci_hotplug.c
@@ -87,7 +87,6 @@ static struct pci_driver prism54_driver = {
87 .remove = prism54_remove, 87 .remove = prism54_remove,
88 .suspend = prism54_suspend, 88 .suspend = prism54_suspend,
89 .resume = prism54_resume, 89 .resume = prism54_resume,
90 /* .enable_wake ; we don't support this yet */
91}; 90};
92 91
93/****************************************************************************** 92/******************************************************************************
diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index f6f561d26bf0..3e9765f0281d 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -3487,15 +3487,6 @@ static int nsp32_resume(struct pci_dev *pdev)
3487 return 0; 3487 return 0;
3488} 3488}
3489 3489
3490/* Enable wake event */
3491static int nsp32_enable_wake(struct pci_dev *pdev, pci_power_t state, int enable)
3492{
3493 struct Scsi_Host *host = pci_get_drvdata(pdev);
3494
3495 nsp32_msg(KERN_INFO, "pci-enable_wake: stub, pdev=0x%p, enable=%d, slot=%s, host=0x%p", pdev, enable, pci_name(pdev), host);
3496
3497 return 0;
3498}
3499#endif 3490#endif
3500 3491
3501/************************************************************************ 3492/************************************************************************
@@ -3571,7 +3562,6 @@ static struct pci_driver nsp32_driver = {
3571#ifdef CONFIG_PM 3562#ifdef CONFIG_PM
3572 .suspend = nsp32_suspend, 3563 .suspend = nsp32_suspend,
3573 .resume = nsp32_resume, 3564 .resume = nsp32_resume,
3574 .enable_wake = nsp32_enable_wake,
3575#endif 3565#endif
3576}; 3566};
3577 3567
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 4db7b5a18f58..5be420ac6303 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -371,7 +371,6 @@ struct pci_driver {
371 int (*suspend_late) (struct pci_dev *dev, pm_message_t state); 371 int (*suspend_late) (struct pci_dev *dev, pm_message_t state);
372 int (*resume_early) (struct pci_dev *dev); 372 int (*resume_early) (struct pci_dev *dev);
373 int (*resume) (struct pci_dev *dev); /* Device woken up */ 373 int (*resume) (struct pci_dev *dev); /* Device woken up */
374 int (*enable_wake) (struct pci_dev *dev, pci_power_t state, int enable); /* Enable wake event */
375 void (*shutdown) (struct pci_dev *dev); 374 void (*shutdown) (struct pci_dev *dev);
376 375
377 struct pci_error_handlers *err_handler; 376 struct pci_error_handlers *err_handler;