ACPIPHP: use ACPI dock driver
authorKristen Accardi <kristen.c.accardi@intel.com>
Wed, 28 Jun 2006 07:08:06 +0000 (03:08 -0400)
committerLen Brown <len.brown@intel.com>
Wed, 28 Jun 2006 07:08:06 +0000 (03:08 -0400)
Modify the acpiphp driver to use the ACPI dock driver for dock
notifications.  Only load the acpiphp driver if we find we have pci dock
devices.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/pci/hotplug/Makefile
drivers/pci/hotplug/acpiphp.h
drivers/pci/hotplug/acpiphp_core.c
drivers/pci/hotplug/acpiphp_dock.c [deleted file]
drivers/pci/hotplug/acpiphp_glue.c

index 421cfff..34a1891 100644 (file)
@@ -40,8 +40,7 @@ ibmphp-objs           :=      ibmphp_core.o   \
                                ibmphp_hpc.o
 
 acpiphp-objs           :=      acpiphp_core.o  \
-                               acpiphp_glue.o  \
-                               acpiphp_dock.o
+                               acpiphp_glue.o
 
 rpaphp-objs            :=      rpaphp_core.o   \
                                rpaphp_pci.o    \
index 17a93f8..e8fddf9 100644 (file)
@@ -130,7 +130,7 @@ struct acpiphp_func {
 
        struct list_head sibling;
        struct pci_dev *pci_dev;
-
+       struct notifier_block nb;
        acpi_handle     handle;
 
        u8              function;       /* pci function# */
@@ -151,24 +151,6 @@ struct acpiphp_attention_info
 };
 
 
-struct dependent_device {
-       struct list_head device_list;
-       struct list_head pci_list;
-       acpi_handle handle;
-       struct acpiphp_func *func;
-};
-
-
-struct acpiphp_dock_station {
-       acpi_handle handle;
-       u32 last_dock_time;
-       u32 flags;
-       struct acpiphp_func *dock_bridge;
-       struct list_head dependent_devices;
-       struct list_head pci_dependent_devices;
-};
-
-
 /* PCI bus bridge HID */
 #define ACPI_PCI_HOST_HID              "PNP0A03"
 
@@ -207,11 +189,6 @@ struct acpiphp_dock_station {
 #define FUNC_HAS_PS2           (0x00000040)
 #define FUNC_HAS_PS3           (0x00000080)
 #define FUNC_HAS_DCK            (0x00000100)
-#define FUNC_IS_DD              (0x00000200)
-
-/* dock station flags */
-#define DOCK_DOCKING            (0x00000001)
-#define DOCK_HAS_BRIDGE         (0x00000002)
 
 /* function prototypes */
 
@@ -236,16 +213,6 @@ extern u8 acpiphp_get_latch_status (struct acpiphp_slot *slot);
 extern u8 acpiphp_get_adapter_status (struct acpiphp_slot *slot);
 extern u32 acpiphp_get_address (struct acpiphp_slot *slot);
 
-/* acpiphp_dock.c */
-extern int find_dock_station(void);
-extern void remove_dock_station(void);
-extern void add_dependent_device(struct dependent_device *new_dd);
-extern void add_pci_dependent_device(struct dependent_device *new_dd);
-extern struct dependent_device *get_dependent_device(acpi_handle handle);
-extern int is_dependent_device(acpi_handle handle);
-extern int detect_dependent_devices(acpi_handle *bridge_handle);
-extern struct dependent_device *alloc_dependent_device(acpi_handle handle);
-
 /* variables */
 extern int acpiphp_debug;
 
index 4f1b0da..34de569 100644 (file)
@@ -416,27 +416,12 @@ void acpiphp_unregister_hotplug_slot(struct acpiphp_slot *acpiphp_slot)
 
 static int __init acpiphp_init(void)
 {
-       int retval;
-       int docking_station;
-
        info(DRIVER_DESC " version: " DRIVER_VERSION "\n");
 
        acpiphp_debug = debug;
 
-       docking_station = find_dock_station();
-
        /* read all the ACPI info from the system */
-       retval = init_acpi();
-
-       /* if we have found a docking station, we should
-        * go ahead and load even if init_acpi has found
-        * no slots.  This handles the case when the _DCK
-        * method not defined under the actual dock bridge
-        */
-       if (docking_station)
-               return 0;
-       else
-               return retval;
+       return init_acpi();
 }
 
 
@@ -444,8 +429,6 @@ static void __exit acpiphp_exit(void)
 {
        /* deallocate internal data structures etc. */
        acpiphp_glue_exit();
-
-       remove_dock_station();
 }
 
 module_init(acpiphp_init);
diff --cc drivers/pci/hotplug/acpiphp_dock.c
Simple merge
Simple merge