Commit 1d3a82af45428c5e8deaa119cdeb79611ae46371

Authored by David Brownell
Committed by Greg Kroah-Hartman
1 parent 1ebfd79eb4

PM: no suspend_prepare() phase

Remove the new suspend_prepare() phase.  It doesn't seem very usable,
has never been tested, doesn't address fault cleanup, and would need
a sibling resume_complete(); plus there are no real use cases.  It
could be restored later if those issues get resolved.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Showing 5 changed files with 0 additions and 47 deletions Side-by-side Diff

drivers/base/power/suspend.c
... ... @@ -118,33 +118,6 @@
118 118 }
119 119  
120 120 /**
121   - * device_prepare_suspend - save state and prepare to suspend
122   - *
123   - * NOTE! Devices cannot detach at this point - not only do we
124   - * hold the device list semaphores over the whole prepare, but
125   - * the whole point is to do non-invasive preparatory work, not
126   - * the actual suspend.
127   - */
128   -int device_prepare_suspend(pm_message_t state)
129   -{
130   - int error = 0;
131   - struct device * dev;
132   -
133   - down(&dpm_sem);
134   - down(&dpm_list_sem);
135   - list_for_each_entry_reverse(dev, &dpm_active, power.entry) {
136   - if (!dev->bus || !dev->bus->suspend_prepare)
137   - continue;
138   - error = dev->bus->suspend_prepare(dev, state);
139   - if (error)
140   - break;
141   - }
142   - up(&dpm_list_sem);
143   - up(&dpm_sem);
144   - return error;
145   -}
146   -
147   -/**
148 121 * device_suspend - Save state and stop all devices in system.
149 122 * @state: Power state to put each device in.
150 123 *
drivers/pci/pci-driver.c
... ... @@ -264,19 +264,6 @@
264 264 return 0;
265 265 }
266 266  
267   -static int pci_device_suspend_prepare(struct device * dev, pm_message_t state)
268   -{
269   - struct pci_dev * pci_dev = to_pci_dev(dev);
270   - struct pci_driver * drv = pci_dev->driver;
271   - int i = 0;
272   -
273   - if (drv && drv->suspend_prepare) {
274   - i = drv->suspend_prepare(pci_dev, state);
275   - suspend_report_result(drv->suspend_prepare, i);
276   - }
277   - return i;
278   -}
279   -
280 267 static int pci_device_suspend(struct device * dev, pm_message_t state)
281 268 {
282 269 struct pci_dev * pci_dev = to_pci_dev(dev);
... ... @@ -544,7 +531,6 @@
544 531 .uevent = pci_uevent,
545 532 .probe = pci_device_probe,
546 533 .remove = pci_device_remove,
547   - .suspend_prepare= pci_device_suspend_prepare,
548 534 .suspend = pci_device_suspend,
549 535 .suspend_late = pci_device_suspend_late,
550 536 .resume_early = pci_device_resume_early,
include/linux/device.h
... ... @@ -52,7 +52,6 @@
52 52 int (*remove)(struct device * dev);
53 53 void (*shutdown)(struct device * dev);
54 54  
55   - int (*suspend_prepare)(struct device * dev, pm_message_t state);
56 55 int (*suspend)(struct device * dev, pm_message_t state);
57 56 int (*suspend_late)(struct device * dev, pm_message_t state);
58 57 int (*resume_early)(struct device * dev);
... ... @@ -345,7 +345,6 @@
345 345 const struct pci_device_id *id_table; /* must be non-NULL for probe to be called */
346 346 int (*probe) (struct pci_dev *dev, const struct pci_device_id *id); /* New device inserted */
347 347 void (*remove) (struct pci_dev *dev); /* Device removed (NULL if not a hot-plug capable driver) */
348   - int (*suspend_prepare) (struct pci_dev *dev, pm_message_t state);
349 348 int (*suspend) (struct pci_dev *dev, pm_message_t state); /* Device suspended */
350 349 int (*suspend_late) (struct pci_dev *dev, pm_message_t state);
351 350 int (*resume_early) (struct pci_dev *dev);
... ... @@ -57,10 +57,6 @@
57 57 if (!pm_ops || !pm_ops->enter)
58 58 return -EPERM;
59 59  
60   - error = device_prepare_suspend(PMSG_SUSPEND);
61   - if (error)
62   - return error;
63   -
64 60 pm_prepare_console();
65 61  
66 62 disable_nonboot_cpus();