diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-10-10 16:39:32 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-10-10 16:39:32 -0400 |
commit | feb22b7f8e62b1b987a3a1dbad95af767a1df832 (patch) | |
tree | 428e5294a077fc629caa3706396e835b164eee7c /drivers/ide/pci/aec62xx.c | |
parent | 1785192b5310ee25165768f5bb80f13146788e3e (diff) |
ide: add proper PCI PM support (v2)
* Keep pointer to ->init_chipset method also in
struct ide_host and set it in ide_host_alloc_all().
* Add ide_pci_suspend() and ide_pci_resume() helpers
(default ->suspend and ->resume implementations).
* ->init_chipset can no longer be marked __devinit.
* Add proper PCI PM support to IDE PCI host drivers
(rz1000.c and tc86c001.c are skipped for now since
they need to be converted from using ->init_hwif
to use ->init_chipset instead).
v2:
* Cleanup CONFIG_PM #ifdef-s per akpm's suggestion.
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/aec62xx.c')
-rw-r--r-- | drivers/ide/pci/aec62xx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index f65828da65d0..e7475ba559c7 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -139,7 +139,7 @@ static void aec_set_pio_mode(ide_drive_t *drive, const u8 pio) | |||
139 | drive->hwif->port_ops->set_dma_mode(drive, pio + XFER_PIO_0); | 139 | drive->hwif->port_ops->set_dma_mode(drive, pio + XFER_PIO_0); |
140 | } | 140 | } |
141 | 141 | ||
142 | static unsigned int __devinit init_chipset_aec62xx(struct pci_dev *dev) | 142 | static unsigned int init_chipset_aec62xx(struct pci_dev *dev) |
143 | { | 143 | { |
144 | /* These are necessary to get AEC6280 Macintosh cards to work */ | 144 | /* These are necessary to get AEC6280 Macintosh cards to work */ |
145 | if ((dev->device == PCI_DEVICE_ID_ARTOP_ATP865) || | 145 | if ((dev->device == PCI_DEVICE_ID_ARTOP_ATP865) || |
@@ -307,6 +307,8 @@ static struct pci_driver driver = { | |||
307 | .id_table = aec62xx_pci_tbl, | 307 | .id_table = aec62xx_pci_tbl, |
308 | .probe = aec62xx_init_one, | 308 | .probe = aec62xx_init_one, |
309 | .remove = __devexit_p(aec62xx_remove), | 309 | .remove = __devexit_p(aec62xx_remove), |
310 | .suspend = ide_pci_suspend, | ||
311 | .resume = ide_pci_resume, | ||
310 | }; | 312 | }; |
311 | 313 | ||
312 | static int __init aec62xx_ide_init(void) | 314 | static int __init aec62xx_ide_init(void) |