Re: [PATCH] libata: Register for dock events when the drive is inside a dock station
From: Tejun Heo <hidden>
Date: 2008-02-22 01:34:54
Also in:
lkml
From: Tejun Heo <hidden>
Date: 2008-02-22 01:34:54
Also in:
lkml
If a device/bay is inside a docking station, we need to register for dock events additionally to bay events. If a dock event occurs, the dock driver will call the appropriate handler (ata_acpi_ap_notify() or ata_acpi_dev_notify()) for us. Signed-off-by: Holger Macht <redacted> ---diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index 9e8ec19..563ad72 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c@@ -191,20 +191,33 @@ void ata_acpi_associate(struct ata_host *host) else ata_acpi_associate_ide_port(ap); - if (ap->acpi_handle) + if (ap->acpi_handle) { acpi_install_notify_handler (ap->acpi_handle, ACPI_SYSTEM_NOTIFY, ata_acpi_ap_notify, ap); +#ifdef CONFIG_ACPI_DOCK_MODULE
Heh, you need #if defined(CONFIG_ACPI_DOCK) || defined(CONFIG_ACPI_DOCK_MODULE) Also, another question. Is there a way to tell whether the device or port is connected behind a dock or not? Just notifying hotplug signal is fine for hotplugging but to make hot unplug safe for PATA, libata should be able to tell whether the device is actually gonna go away and kill it explicitly. Thanks. -- tejun