]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/core/usb.c
usb: fix breakage on systems without ACPI
[~andy/linux] / drivers / usb / core / usb.c
index c74ba7bbc7483e7ce106c32129f9aa6d1d693b9c..25d0c61c3f8a3045e19fddc35016b35e9c44bd6d 100644 (file)
@@ -1015,6 +1015,7 @@ static int __init usb_init(void)
        if (retval)
                goto out;
 
+       usb_acpi_register();
        retval = bus_register(&usb_bus_type);
        if (retval)
                goto bus_register_failed;
@@ -1030,9 +1031,6 @@ static int __init usb_init(void)
        retval = usb_devio_init();
        if (retval)
                goto usb_devio_init_failed;
-       retval = usbfs_init();
-       if (retval)
-               goto fs_init_failed;
        retval = usb_hub_init();
        if (retval)
                goto hub_init_failed;
@@ -1042,8 +1040,6 @@ static int __init usb_init(void)
 
        usb_hub_cleanup();
 hub_init_failed:
-       usbfs_cleanup();
-fs_init_failed:
        usb_devio_cleanup();
 usb_devio_init_failed:
        usb_deregister(&usbfs_driver);
@@ -1054,6 +1050,7 @@ major_init_failed:
 bus_notifier_failed:
        bus_unregister(&usb_bus_type);
 bus_register_failed:
+       usb_acpi_unregister();
        usb_debugfs_cleanup();
 out:
        return retval;
@@ -1070,12 +1067,12 @@ static void __exit usb_exit(void)
 
        usb_deregister_device_driver(&usb_generic_driver);
        usb_major_cleanup();
-       usbfs_cleanup();
        usb_deregister(&usbfs_driver);
        usb_devio_cleanup();
        usb_hub_cleanup();
        bus_unregister_notifier(&usb_bus_type, &usb_bus_nb);
        bus_unregister(&usb_bus_type);
+       usb_acpi_unregister();
        usb_debugfs_cleanup();
 }