diff options
author | Tejun Heo <htejun@gmail.com> | 2007-05-15 03:28:16 +0900 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-07-09 12:17:31 -0400 |
commit | fafbae87db88a73b166d3bc3294d209207f27056 (patch) | |
tree | 158217a52a396b2be110688f23eacbe25cf1c2d7 /drivers/ata/libata.h | |
parent | 7dcca30a32aadb0520417521b0c44f42d09fe05c (diff) | |
download | linux-fafbae87db88a73b166d3bc3294d209207f27056.tar.gz linux-fafbae87db88a73b166d3bc3294d209207f27056.tar.bz2 linux-fafbae87db88a73b166d3bc3294d209207f27056.zip |
libata-acpi: implement ata_acpi_associate()
* Add acpi_handle to ata_host and ata_port. Rename
ata_device->obj_handle to ->acpi_handle and move it above such that
it doesn't get cleared on reconfiguration.
* Replace ACPI node association which ata_acpi_associate() which is
called once during host initialization. Unlike the previous
implementation, ata_acpi_associate() uses ATA_FLAG_ACPI_SATA to
choose between IDE or SATA ACPI hierarchy and uses simple child look
up instead of recursive walk to match the nodes. This is way safer
and simpler. Please read the following message for more info.
http://article.gmane.org/gmane.linux.ide/17554
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/libata.h')
-rw-r--r-- | drivers/ata/libata.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h index 5e2466658420..29037cd7c651 100644 --- a/drivers/ata/libata.h +++ b/drivers/ata/libata.h @@ -98,9 +98,11 @@ extern struct ata_port *ata_port_alloc(struct ata_host *host); /* libata-acpi.c */ #ifdef CONFIG_ATA_ACPI +extern void ata_acpi_associate(struct ata_host *host); extern int ata_acpi_exec_tfs(struct ata_port *ap); extern int ata_acpi_push_id(struct ata_device *dev); #else +static inline void ata_acpi_associate(struct ata_host *host) { } static inline int ata_acpi_exec_tfs(struct ata_port *ap) { return 0; |