|
@@ -234,12 +234,9 @@ static int acpi_bus_get_power_flags(struct acpi_device *device)
|
|
|
|
|
|
int acpi_match_ids(struct acpi_device *device, char *ids)
|
|
|
{
|
|
|
- int error = 0;
|
|
|
- struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
|
|
|
-
|
|
|
if (device->flags.hardware_id)
|
|
|
if (strstr(ids, device->pnp.hardware_id))
|
|
|
- goto Done;
|
|
|
+ return 0;
|
|
|
|
|
|
if (device->flags.compatible_ids) {
|
|
|
struct acpi_compatible_id_list *cid_list = device->pnp.cid_list;
|
|
@@ -248,15 +245,10 @@ int acpi_match_ids(struct acpi_device *device, char *ids)
|
|
|
/* compare multiple _CID entries against driver ids */
|
|
|
for (i = 0; i < cid_list->count; i++) {
|
|
|
if (strstr(ids, cid_list->id[i].value))
|
|
|
- goto Done;
|
|
|
+ return 0;
|
|
|
}
|
|
|
}
|
|
|
- error = -ENOENT;
|
|
|
-
|
|
|
- Done:
|
|
|
- if (buffer.pointer)
|
|
|
- acpi_os_free(buffer.pointer);
|
|
|
- return error;
|
|
|
+ return -ENOENT;
|
|
|
}
|
|
|
|
|
|
static acpi_status
|
|
@@ -645,21 +637,19 @@ EXPORT_SYMBOL(acpi_bus_register_driver);
|
|
|
*/
|
|
|
int acpi_bus_unregister_driver(struct acpi_driver *driver)
|
|
|
{
|
|
|
- int error = 0;
|
|
|
-
|
|
|
ACPI_FUNCTION_TRACE("acpi_bus_unregister_driver");
|
|
|
|
|
|
- if (driver) {
|
|
|
- acpi_driver_detach(driver);
|
|
|
+ if (!driver)
|
|
|
+ return_VALUE(-EINVAL);
|
|
|
|
|
|
- if (!atomic_read(&driver->references)) {
|
|
|
- spin_lock(&acpi_device_lock);
|
|
|
- list_del_init(&driver->node);
|
|
|
- spin_unlock(&acpi_device_lock);
|
|
|
- }
|
|
|
- } else
|
|
|
- error = -EINVAL;
|
|
|
- return_VALUE(error);
|
|
|
+ acpi_driver_detach(driver);
|
|
|
+
|
|
|
+ if (!atomic_read(&driver->references)) {
|
|
|
+ spin_lock(&acpi_device_lock);
|
|
|
+ list_del_init(&driver->node);
|
|
|
+ spin_unlock(&acpi_device_lock);
|
|
|
+ }
|
|
|
+ return_VALUE(0);
|
|
|
}
|
|
|
|
|
|
EXPORT_SYMBOL(acpi_bus_unregister_driver);
|