diff options
author | David Brownell <david-b@pacbell.net> | 2006-08-14 23:11:05 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-25 21:08:37 -0700 |
commit | b887d2e63c8857149ef59eb6e05adfaa018b8ebf (patch) | |
tree | e3efb4b1c095fd2960c32d8f253679a045bf26db /drivers/ide | |
parent | 82bb67f2c1f9ef438c56ac24e7dca027fe7289b5 (diff) |
PM: PCI and IDE handle PM_EVENT_PRETHAW
Convert some framework code to handle the new PRETHAW message.
- IDE just treats it like a FREEZE.
- The pci_choose_state() thingie still doesn't use PCI_D0 when it gets a
FREEZE (and now PRETHAW) event, which seems rather buglike but wasn't
something to change with this patch.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index defd4b4bd37..9c8468de1a7 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -1207,7 +1207,7 @@ int system_bus_clock (void) EXPORT_SYMBOL(system_bus_clock); -static int generic_ide_suspend(struct device *dev, pm_message_t state) +static int generic_ide_suspend(struct device *dev, pm_message_t mesg) { ide_drive_t *drive = dev->driver_data; struct request rq; @@ -1221,7 +1221,9 @@ static int generic_ide_suspend(struct device *dev, pm_message_t state) rq.special = &args; rq.end_io_data = &rqpm; rqpm.pm_step = ide_pm_state_start_suspend; - rqpm.pm_state = state.event; + if (mesg.event == PM_EVENT_PRETHAW) + mesg.event = PM_EVENT_FREEZE; + rqpm.pm_state = mesg.event; return ide_do_drive_cmd(drive, &rq, ide_wait); } |