|
@@ -1385,29 +1385,11 @@ static int acpi_bus_remove(struct acpi_device *dev, int rmdevice)
|
|
|
if (!rmdevice)
|
|
|
return 0;
|
|
|
|
|
|
- /*
|
|
|
- * unbind _ADR-Based Devices when hot removal
|
|
|
- */
|
|
|
- if (dev->flags.bus_address) {
|
|
|
- if ((dev->parent) && (dev->parent->ops.unbind))
|
|
|
- dev->parent->ops.unbind(dev);
|
|
|
- }
|
|
|
acpi_device_unregister(dev, ACPI_BUS_REMOVAL_EJECT);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * acpi_hot_add_bind - Bind _ADR-based devices on hot-add.
|
|
|
- * @device: ACPI device node to bind.
|
|
|
- */
|
|
|
-static void acpi_hot_add_bind(struct acpi_device *device)
|
|
|
-{
|
|
|
- if (device->flags.bus_address
|
|
|
- && device->parent && device->parent->ops.bind)
|
|
|
- device->parent->ops.bind(device);
|
|
|
-}
|
|
|
-
|
|
|
static int acpi_add_single_object(struct acpi_device **child,
|
|
|
acpi_handle handle, int type,
|
|
|
unsigned long long sta, bool match_driver)
|
|
@@ -1479,9 +1461,6 @@ static int acpi_add_single_object(struct acpi_device **child,
|
|
|
device->flags.match_driver = match_driver;
|
|
|
result = acpi_device_register(device);
|
|
|
|
|
|
- if (device->flags.match_driver)
|
|
|
- acpi_hot_add_bind(device);
|
|
|
-
|
|
|
end:
|
|
|
if (!result) {
|
|
|
acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer);
|
|
@@ -1584,7 +1563,6 @@ static acpi_status acpi_bus_check_add(acpi_handle handle, u32 lvl_not_used,
|
|
|
return AE_CTRL_DEPTH;
|
|
|
|
|
|
device->flags.match_driver = true;
|
|
|
- acpi_hot_add_bind(device);
|
|
|
|
|
|
out:
|
|
|
if (!*return_value)
|