Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / pci / hotplug / acpiphp_core.c
index e2fef60..4f1b0da 100644 (file)
@@ -27,7 +27,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * Send feedback to <kristen.c.accardi@intel.com>
+ * Send feedback to <gregkh@us.ibm.com>,
+ *                 <t-kochi@bq.jp.nec.com>
  *
  */
 
@@ -415,12 +416,27 @@ 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 */
-       return init_acpi();
+       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;
 }
 
 
@@ -428,6 +444,8 @@ static void __exit acpiphp_exit(void)
 {
        /* deallocate internal data structures etc. */
        acpiphp_glue_exit();
+
+       remove_dock_station();
 }
 
 module_init(acpiphp_init);