int ret;
 
        if (!acpi_bus_get_device(handle, &device)) {
-               ret = acpi_bus_trim(device, 1);
+               ret = acpi_bus_trim(device);
                if (ret)
                        pr_debug("error removing bus, %x\n", -ret);
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                "Hot-removing device %s...\n", dev_name(&device->dev)));
 
-       if (acpi_bus_trim(device, 1)) {
+       if (acpi_bus_trim(device)) {
                printk(KERN_ERR PREFIX
                                "Removing device failed\n");
                goto err_out;
        return -ENODEV;
 }
 
-static int acpi_bus_remove(struct acpi_device *dev, int rmdevice)
+static int acpi_bus_remove(struct acpi_device *dev)
 {
        if (!dev)
                return -EINVAL;
        dev->removal_type = ACPI_BUS_REMOVAL_EJECT;
        device_release_driver(&dev->dev);
 
-       if (!rmdevice)
-               return 0;
-
        acpi_device_unregister(dev);
 
        return 0;
 }
 EXPORT_SYMBOL(acpi_bus_add);
 
-int acpi_bus_trim(struct acpi_device *start, int rmdevice)
+int acpi_bus_trim(struct acpi_device *start)
 {
        acpi_status status;
        struct acpi_device *parent, *child;
                        acpi_get_parent(phandle, &phandle);
                        child = parent;
                        parent = parent->parent;
-
-                       if (level == 0)
-                               err = acpi_bus_remove(child, rmdevice);
-                       else
-                               err = acpi_bus_remove(child, 1);
-
+                       err = acpi_bus_remove(child);
                        continue;
                }
 
 
                /* this shouldn't be in here, so remove
                 * the bus then re-add it...
                 */
-               ret_val = acpi_bus_trim(device, 1);
+               ret_val = acpi_bus_trim(device);
                dbg("acpi_bus_trim return %x\n", ret_val);
        }
 
                return retval;
        }
 
-       retval = acpi_bus_trim(device, 1);
+       retval = acpi_bus_trim(device);
        if (retval)
                err("cannot remove from acpi list\n");
 
 
                                ret = acpi_bus_get_device(chandle,
                                                          &device);
                                if (ACPI_SUCCESS(ret))
-                                       acpi_bus_trim(device, 1);
+                                       acpi_bus_trim(device);
                        }
                }
 
 
 void acpi_bus_unregister_driver(struct acpi_driver *driver);
 int acpi_bus_add(acpi_handle handle);
 void acpi_bus_hot_remove_device(void *context);
-int acpi_bus_trim(struct acpi_device *start, int rmdevice);
+int acpi_bus_trim(struct acpi_device *start);
 acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
 int acpi_match_device_ids(struct acpi_device *device,
                          const struct acpi_device_id *ids);