On Wed 20. Feb - 12:11:32, Jeff Garzik wrote:
> 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 <[EMAIL PROTECTED]>
>>
>> Updated patch which only includes the dock specific function if the dock
>> driver is actually compiled.
>>
>> Signed-off-by: Holger Macht <[EMAIL PROTECTED]>
>> ---
>>
>> 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...

Thanks for the hint, so once again:


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 <[EMAIL PROTECTED]>
---

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
+                       /* 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_MODULE
+                               /* we might be on a docking station */
+                               register_hotplug_dock_device(ap->acpi_handle,
+                                                            
ata_acpi_dev_notify,
+                                                            ap);
+#endif
+                       }
                }
        }
 }
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to