projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull acpi_bus_register_driver into release branch
[powerpc.git]
/
drivers
/
acpi
/
scan.c
diff --git
a/drivers/acpi/scan.c
b/drivers/acpi/scan.c
index
a0ab828
..
fc676ac
100644
(file)
--- a/
drivers/acpi/scan.c
+++ b/
drivers/acpi/scan.c
@@
-142,7
+142,7
@@
static void acpi_device_register(struct acpi_device *device,
create_sysfs_device_files(device);
}
create_sysfs_device_files(device);
}
-static
int
acpi_device_unregister(struct acpi_device *device, int type)
+static
void
acpi_device_unregister(struct acpi_device *device, int type)
{
spin_lock(&acpi_device_lock);
if (device->parent) {
{
spin_lock(&acpi_device_lock);
if (device->parent) {
@@
-158,7
+158,6
@@
static int acpi_device_unregister(struct acpi_device *device, int type)
acpi_detach_data(device->handle, acpi_bus_data_handler);
remove_sysfs_device_files(device);
kobject_unregister(&device->kobj);
acpi_detach_data(device->handle, acpi_bus_data_handler);
remove_sysfs_device_files(device);
kobject_unregister(&device->kobj);
- return 0;
}
void acpi_bus_data_handler(acpi_handle handle, u32 function, void *context)
}
void acpi_bus_data_handler(acpi_handle handle, u32 function, void *context)
@@
-234,12
+233,9
@@
static int acpi_bus_get_power_flags(struct acpi_device *device)
int acpi_match_ids(struct acpi_device *device, char *ids)
{
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))
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;
if (device->flags.compatible_ids) {
struct acpi_compatible_id_list *cid_list = device->pnp.cid_list;
@@
-248,15
+244,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))
/* 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
}
static acpi_status
@@
-441,10
+432,7
@@
acpi_eject_store(struct acpi_device *device, const char *buf, size_t count)
islockable = device->flags.lockable;
handle = device->handle;
islockable = device->flags.lockable;
handle = device->handle;
- if (type == ACPI_TYPE_PROCESSOR)
- result = acpi_bus_trim(device, 0);
- else
- result = acpi_bus_trim(device, 1);
+ result = acpi_bus_trim(device, 1);
if (!result)
result = acpi_eject_operation(handle, islockable);
if (!result)
result = acpi_eject_operation(handle, islockable);
@@
-548,10
+536,9
@@
static int acpi_start_single_object(struct acpi_device *device)
return_VALUE(result);
}
return_VALUE(result);
}
-static
int
acpi_driver_attach(struct acpi_driver *drv)
+static
void
acpi_driver_attach(struct acpi_driver *drv)
{
struct list_head *node, *next;
{
struct list_head *node, *next;
- int count = 0;
ACPI_FUNCTION_TRACE("acpi_driver_attach");
ACPI_FUNCTION_TRACE("acpi_driver_attach");
@@
-568,7
+555,6
@@
static int acpi_driver_attach(struct acpi_driver *drv)
if (!acpi_bus_driver_init(dev, drv)) {
acpi_start_single_object(dev);
atomic_inc(&drv->references);
if (!acpi_bus_driver_init(dev, drv)) {
acpi_start_single_object(dev);
atomic_inc(&drv->references);
- count++;
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Found driver [%s] for device [%s]\n",
drv->name, dev->pnp.bus_id));
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Found driver [%s] for device [%s]\n",
drv->name, dev->pnp.bus_id));
@@
-577,10
+563,9
@@
static int acpi_driver_attach(struct acpi_driver *drv)
spin_lock(&acpi_device_lock);
}
spin_unlock(&acpi_device_lock);
spin_lock(&acpi_device_lock);
}
spin_unlock(&acpi_device_lock);
- return_VALUE(count);
}
}
-static
int
acpi_driver_detach(struct acpi_driver *drv)
+static
void
acpi_driver_detach(struct acpi_driver *drv)
{
struct list_head *node, *next;
{
struct list_head *node, *next;
@@
-602,7
+587,6
@@
static int acpi_driver_detach(struct acpi_driver *drv)
}
}
spin_unlock(&acpi_device_lock);
}
}
spin_unlock(&acpi_device_lock);
- return_VALUE(0);
}
/**
}
/**
@@
-610,28
+594,22
@@
static int acpi_driver_detach(struct acpi_driver *drv)
* @driver: driver being registered
*
* Registers a driver with the ACPI bus. Searches the namespace for all
* @driver: driver being registered
*
* Registers a driver with the ACPI bus. Searches the namespace for all
- * devices that match the driver's criteria and binds. Returns the
- * number of devices that were claimed by the driver, or a negative
- * error status for failure.
+ * devices that match the driver's criteria and binds. Returns zero for
+ * success or a negative error status for failure.
*/
int acpi_bus_register_driver(struct acpi_driver *driver)
{
*/
int acpi_bus_register_driver(struct acpi_driver *driver)
{
- int count;
-
ACPI_FUNCTION_TRACE("acpi_bus_register_driver");
if (acpi_disabled)
return_VALUE(-ENODEV);
ACPI_FUNCTION_TRACE("acpi_bus_register_driver");
if (acpi_disabled)
return_VALUE(-ENODEV);
- if (!driver)
- return_VALUE(-EINVAL);
-
spin_lock(&acpi_device_lock);
list_add_tail(&driver->node, &acpi_bus_drivers);
spin_unlock(&acpi_device_lock);
spin_lock(&acpi_device_lock);
list_add_tail(&driver->node, &acpi_bus_drivers);
spin_unlock(&acpi_device_lock);
-
count =
acpi_driver_attach(driver);
+ acpi_driver_attach(driver);
- return_VALUE(
count
);
+ return_VALUE(
0
);
}
EXPORT_SYMBOL(acpi_bus_register_driver);
}
EXPORT_SYMBOL(acpi_bus_register_driver);
@@
-643,23
+621,16
@@
EXPORT_SYMBOL(acpi_bus_register_driver);
* Unregisters a driver with the ACPI bus. Searches the namespace for all
* devices that match the driver's criteria and unbinds.
*/
* Unregisters a driver with the ACPI bus. Searches the namespace for all
* devices that match the driver's criteria and unbinds.
*/
-
int
acpi_bus_unregister_driver(struct acpi_driver *driver)
+
void
acpi_bus_unregister_driver(struct acpi_driver *driver)
{
{
- int error = 0;
-
- ACPI_FUNCTION_TRACE("acpi_bus_unregister_driver");
-
- if (driver) {
- acpi_driver_detach(driver);
+ acpi_driver_detach(driver);
- 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);
+ if (!atomic_read(&driver->references)) {
+ spin_lock(&acpi_device_lock);
+ list_del_init(&driver->node);
+ spin_unlock(&acpi_device_lock);
+ }
+ return;
}
EXPORT_SYMBOL(acpi_bus_unregister_driver);
}
EXPORT_SYMBOL(acpi_bus_unregister_driver);