diff options
author | Pavel Machek <pavel@ucw.cz> | 2005-09-03 18:56:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:06:16 -0400 |
commit | ca078bae813dd46c0f9b102fdfb4a3384641ff48 (patch) | |
tree | e3348f5dcb24159a522941aa2e3ee40bc9e0589b /drivers/ide/ppc/pmac.c | |
parent | 829ca9a30a2ddb727981d80fabdbff2ea86bc9ea (diff) |
[PATCH] swsusp: switch pm_message_t to struct
This adds type-checking to pm_message_t, so that people can't confuse it
with int or u32. It also allows us to fix "disk yoyo" during suspend (disk
spinning down/up/down).
[We've tried that before; since that cpufreq problems were fixed and I've
tried make allyes config and fixed resulting damage.]
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/ide/ppc/pmac.c')
-rw-r--r-- | drivers/ide/ppc/pmac.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index d2760b8ca159..87d1f8a1f41e 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -1509,7 +1509,7 @@ pmac_ide_macio_suspend(struct macio_dev *mdev, pm_message_t state) | |||
1509 | ide_hwif_t *hwif = (ide_hwif_t *)dev_get_drvdata(&mdev->ofdev.dev); | 1509 | ide_hwif_t *hwif = (ide_hwif_t *)dev_get_drvdata(&mdev->ofdev.dev); |
1510 | int rc = 0; | 1510 | int rc = 0; |
1511 | 1511 | ||
1512 | if (state != mdev->ofdev.dev.power.power_state && state >= 2) { | 1512 | if (state.event != mdev->ofdev.dev.power.power_state.event && state.event >= PM_EVENT_SUSPEND) { |
1513 | rc = pmac_ide_do_suspend(hwif); | 1513 | rc = pmac_ide_do_suspend(hwif); |
1514 | if (rc == 0) | 1514 | if (rc == 0) |
1515 | mdev->ofdev.dev.power.power_state = state; | 1515 | mdev->ofdev.dev.power.power_state = state; |
@@ -1524,7 +1524,7 @@ pmac_ide_macio_resume(struct macio_dev *mdev) | |||
1524 | ide_hwif_t *hwif = (ide_hwif_t *)dev_get_drvdata(&mdev->ofdev.dev); | 1524 | ide_hwif_t *hwif = (ide_hwif_t *)dev_get_drvdata(&mdev->ofdev.dev); |
1525 | int rc = 0; | 1525 | int rc = 0; |
1526 | 1526 | ||
1527 | if (mdev->ofdev.dev.power.power_state != 0) { | 1527 | if (mdev->ofdev.dev.power.power_state.event != PM_EVENT_ON) { |
1528 | rc = pmac_ide_do_resume(hwif); | 1528 | rc = pmac_ide_do_resume(hwif); |
1529 | if (rc == 0) | 1529 | if (rc == 0) |
1530 | mdev->ofdev.dev.power.power_state = PMSG_ON; | 1530 | mdev->ofdev.dev.power.power_state = PMSG_ON; |
@@ -1613,7 +1613,7 @@ pmac_ide_pci_suspend(struct pci_dev *pdev, pm_message_t state) | |||
1613 | ide_hwif_t *hwif = (ide_hwif_t *)pci_get_drvdata(pdev); | 1613 | ide_hwif_t *hwif = (ide_hwif_t *)pci_get_drvdata(pdev); |
1614 | int rc = 0; | 1614 | int rc = 0; |
1615 | 1615 | ||
1616 | if (state != pdev->dev.power.power_state && state >= 2) { | 1616 | if (state.event != pdev->dev.power.power_state.event && state.event >= 2) { |
1617 | rc = pmac_ide_do_suspend(hwif); | 1617 | rc = pmac_ide_do_suspend(hwif); |
1618 | if (rc == 0) | 1618 | if (rc == 0) |
1619 | pdev->dev.power.power_state = state; | 1619 | pdev->dev.power.power_state = state; |
@@ -1628,7 +1628,7 @@ pmac_ide_pci_resume(struct pci_dev *pdev) | |||
1628 | ide_hwif_t *hwif = (ide_hwif_t *)pci_get_drvdata(pdev); | 1628 | ide_hwif_t *hwif = (ide_hwif_t *)pci_get_drvdata(pdev); |
1629 | int rc = 0; | 1629 | int rc = 0; |
1630 | 1630 | ||
1631 | if (pdev->dev.power.power_state != 0) { | 1631 | if (pdev->dev.power.power_state.event != PM_EVENT_ON) { |
1632 | rc = pmac_ide_do_resume(hwif); | 1632 | rc = pmac_ide_do_resume(hwif); |
1633 | if (rc == 0) | 1633 | if (rc == 0) |
1634 | pdev->dev.power.power_state = PMSG_ON; | 1634 | pdev->dev.power.power_state = PMSG_ON; |