return status;
 }
 
-static int acpi_bus_scan(acpi_handle handle)
-{
-       void *device = NULL;
-
-       if (ACPI_SUCCESS(acpi_bus_check_add(handle, 0, NULL, &device)))
-               acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX,
-                                   acpi_bus_check_add, NULL, NULL, &device);
-
-       if (!device)
-               return -ENODEV;
-
-       if (ACPI_SUCCESS(acpi_bus_device_attach(handle, 0, NULL, NULL)))
-               acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX,
-                                   acpi_bus_device_attach, NULL, NULL, NULL);
-
-       return 0;
-}
-
 /**
- * acpi_bus_add - Add ACPI device node objects in a given namespace scope.
+ * acpi_bus_scan - Add ACPI device node objects in a given namespace scope.
  * @handle: Root of the namespace scope to scan.
  *
  * Scan a given ACPI tree (probably recently hot-plugged) and create and add
  * in the table trunk from which the kernel could create a device and add an
  * appropriate driver.
  */
-int acpi_bus_add(acpi_handle handle)
+int acpi_bus_scan(acpi_handle handle)
 {
-       int err;
+       void *device = NULL;
 
-       err = acpi_bus_scan(handle);
-       if (err)
-               return err;
+       if (ACPI_SUCCESS(acpi_bus_check_add(handle, 0, NULL, &device)))
+               acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX,
+                                   acpi_bus_check_add, NULL, NULL, &device);
+
+       if (!device)
+               return -ENODEV;
+
+       if (ACPI_SUCCESS(acpi_bus_device_attach(handle, 0, NULL, NULL)))
+               acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX,
+                                   acpi_bus_device_attach, NULL, NULL, NULL);
 
-       acpi_update_all_gpes();
        return 0;
 }
-EXPORT_SYMBOL(acpi_bus_add);
+EXPORT_SYMBOL(acpi_bus_scan);
 
 static acpi_status acpi_bus_device_detach(acpi_handle handle, u32 lvl_not_used,
                                          void *not_used, void **ret_not_used)
                return result;
 
        result = acpi_bus_get_device(ACPI_ROOT_OBJECT, &acpi_root);
-       if (!result)
-               result = acpi_bus_scan_fixed();
-
        if (result)
+               return result;
+
+       result = acpi_bus_scan_fixed();
+       if (result) {
                acpi_device_unregister(acpi_root);
-       else
-               acpi_update_all_gpes();
+               return result;
+       }
 
-       return result;
+       acpi_update_all_gpes();
+       return 0;
 }