summaryrefslogtreecommitdiff
path: root/include/linux/ide.h
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2007-10-12 01:53:58 +0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-12 01:53:58 +0400
commit5e32132befa5d2cefadf3141fee0bbb40cd11f0e (patch)
tree7bf2002e49b169d24b87a8fe71364875e04d1e90 /include/linux/ide.h
parent8cb1f567f4c0a2fde9cbf77c2af888a28cab3423 (diff)
downloadlinux-5e32132befa5d2cefadf3141fee0bbb40cd11f0e.tar.xz
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);
extern void ide_acpi_get_timing(ide_hwif_t *hwif);
extern void ide_acpi_push_timing(ide_hwif_t *hwif);
extern void ide_acpi_init(ide_hwif_t *hwif);
+extern void ide_acpi_set_state(ide_hwif_t *hwif, int on);
#else
static inline int ide_acpi_exec_tfs(ide_drive_t *drive) { return 0; }
static inline void ide_acpi_get_timing(ide_hwif_t *hwif) { ; }
static inline void ide_acpi_push_timing(ide_hwif_t *hwif) { ; }
static inline void ide_acpi_init(ide_hwif_t *hwif) { ; }
+static inline void ide_acpi_set_state(ide_hwif_t *hwif, int on) {}
#endif
extern int ide_hwif_request_regions(ide_hwif_t *hwif);