aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ide.h
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2007-10-11 17:53:58 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-11 17:53:58 -0400
commit5e32132befa5d2cefadf3141fee0bbb40cd11f0e (patch)
tree7bf2002e49b169d24b87a8fe71364875e04d1e90 /include/linux/ide.h
parent8cb1f567f4c0a2fde9cbf77c2af888a28cab3423 (diff)
ide: hook ACPI _PSx method to IDE power on/off
ACPI spec defines the sequence of IDE power on/off: Powering down: Call _GTM. Power down drive (calls _PS3 method and turns off power planes). Powering up: Power up drive (calls _PS0 method if present and turns on power planes). Call _STM passing info from _GTM (possibly modified), with ID data from each drive. Initialize the channel. May modify the results of _GTF. For each drive: Call _GTF. Execute task file (possibly modified). This patch adds the missed _PS0/_PS3 methods call. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Acked-by: Len Brown <len.brown@intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 0665428356d3..80ea946282d7 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1338,11 +1338,13 @@ extern int ide_acpi_exec_tfs(ide_drive_t *drive);
1338extern void ide_acpi_get_timing(ide_hwif_t *hwif); 1338extern void ide_acpi_get_timing(ide_hwif_t *hwif);
1339extern void ide_acpi_push_timing(ide_hwif_t *hwif); 1339extern void ide_acpi_push_timing(ide_hwif_t *hwif);
1340extern void ide_acpi_init(ide_hwif_t *hwif); 1340extern void ide_acpi_init(ide_hwif_t *hwif);
1341extern void ide_acpi_set_state(ide_hwif_t *hwif, int on);
1341#else 1342#else
1342static inline int ide_acpi_exec_tfs(ide_drive_t *drive) { return 0; } 1343static inline int ide_acpi_exec_tfs(ide_drive_t *drive) { return 0; }
1343static inline void ide_acpi_get_timing(ide_hwif_t *hwif) { ; } 1344static inline void ide_acpi_get_timing(ide_hwif_t *hwif) { ; }
1344static inline void ide_acpi_push_timing(ide_hwif_t *hwif) { ; } 1345static inline void ide_acpi_push_timing(ide_hwif_t *hwif) { ; }
1345static inline void ide_acpi_init(ide_hwif_t *hwif) { ; } 1346static inline void ide_acpi_init(ide_hwif_t *hwif) { ; }
1347static inline void ide_acpi_set_state(ide_hwif_t *hwif, int on) {}
1346#endif 1348#endif
1347 1349
1348extern int ide_hwif_request_regions(ide_hwif_t *hwif); 1350extern int ide_hwif_request_regions(ide_hwif_t *hwif);