lkml.org 
[lkml]   [2008]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] libata: Register for dock events when the drive is inside a dock station
Holger Macht wrote:
> On Thu 14. Feb - 13:40:48, Holger Macht wrote:
>> 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 <hmacht@suse.de>
>
> Updated patch which only includes the dock specific function if the dock
> driver is actually compiled.
>
> Signed-off-by: Holger Macht <hmacht@suse.de>
> ---
>
> diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> index 9e8ec19..5f16055 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
> + /* we might be on a docking station */
> + register_hotplug_dock_device(ap->acpi_handle,
> + ata_acpi_ap_notify, ap);
> +#endif
> + }
>
> for (j = 0; j < ata_link_max_devices(&ap->link); j++) {
> struct ata_device *dev = &ap->link.device[j];
>
> - if (dev->acpi_handle)
> + if (dev->acpi_handle) {
> acpi_install_notify_handler (dev->acpi_handle,
> ACPI_SYSTEM_NOTIFY,
> ata_acpi_dev_notify,
> dev);
> +#ifdef CONFIG_ACPI_DOCK
> + /* we might be on a docking station */
> + register_hotplug_dock_device(ap->acpi_handle,
> + ata_acpi_dev_notify,
> + ap);
> +#endif

CONFIG_ACPI_DOCK is a tristate, so you might have CONFIG_ACPI_DOCK_MODULE...




\
 
 \ /
  Last update: 2008-02-20 18:15    [W:0.066 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site