ACPI: Remove the arguments of acpi_bus_add() that are not used
Notice that acpi_bus_add() uses only 2 of its 4 arguments and redefine its header to match the body. Update all of its callers as necessary and observe that this leads to quite a number of removed lines of code (Linus will like that). Add a kerneldoc comment documenting acpi_bus_add() and wonder how its callers make wrong assumptions about the second argument (make note to self to take care of that later). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Yinghai Lu <yinghai@kernel.org> Acked-by: Toshi Kani <toshi.kani@hp.com>
This commit is contained in:
parent
02f57c67a8
commit
636458de36
|
@ -157,34 +157,17 @@ static int
|
|||
acpi_memory_get_device(acpi_handle handle,
|
||||
struct acpi_memory_device **mem_device)
|
||||
{
|
||||
acpi_status status;
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *device = NULL;
|
||||
struct acpi_device *pdevice = NULL;
|
||||
int result;
|
||||
|
||||
|
||||
if (!acpi_bus_get_device(handle, &device) && device)
|
||||
goto end;
|
||||
|
||||
status = acpi_get_parent(handle, &phandle);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
ACPI_EXCEPTION((AE_INFO, status, "Cannot find acpi parent"));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Get the parent device */
|
||||
result = acpi_bus_get_device(phandle, &pdevice);
|
||||
if (result) {
|
||||
acpi_handle_warn(phandle, "Cannot get acpi bus device\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Now add the notified device. This creates the acpi_device
|
||||
* and invokes .add function
|
||||
*/
|
||||
result = acpi_bus_add(&device, pdevice, handle, ACPI_BUS_TYPE_DEVICE);
|
||||
result = acpi_bus_add(handle, &device);
|
||||
if (result) {
|
||||
acpi_handle_warn(handle, "Cannot add acpi bus\n");
|
||||
return -EINVAL;
|
||||
|
|
|
@ -135,20 +135,6 @@ static int acpi_container_remove(struct acpi_device *device, int type)
|
|||
return status;
|
||||
}
|
||||
|
||||
static int container_device_add(struct acpi_device **device, acpi_handle handle)
|
||||
{
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *pdev;
|
||||
|
||||
if (acpi_get_parent(handle, &phandle))
|
||||
return -ENODEV;
|
||||
|
||||
if (acpi_bus_get_device(phandle, &pdev))
|
||||
return -ENODEV;
|
||||
|
||||
return acpi_bus_add(device, pdev, handle, ACPI_BUS_TYPE_DEVICE);
|
||||
}
|
||||
|
||||
static void container_notify_cb(acpi_handle handle, u32 type, void *context)
|
||||
{
|
||||
struct acpi_device *device = NULL;
|
||||
|
@ -180,7 +166,7 @@ static void container_notify_cb(acpi_handle handle, u32 type, void *context)
|
|||
if (!ACPI_FAILURE(status) || device)
|
||||
break;
|
||||
|
||||
result = container_device_add(&device, handle);
|
||||
result = acpi_bus_add(handle, &device);
|
||||
if (result) {
|
||||
acpi_handle_warn(handle, "Failed to add container\n");
|
||||
break;
|
||||
|
|
|
@ -310,8 +310,6 @@ static int dock_present(struct dock_station *ds)
|
|||
static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
|
||||
{
|
||||
struct acpi_device *device;
|
||||
struct acpi_device *parent_device;
|
||||
acpi_handle parent;
|
||||
int ret;
|
||||
|
||||
if (acpi_bus_get_device(handle, &device)) {
|
||||
|
@ -319,16 +317,9 @@ static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
|
|||
* no device created for this object,
|
||||
* so we should create one.
|
||||
*/
|
||||
acpi_get_parent(handle, &parent);
|
||||
if (acpi_bus_get_device(parent, &parent_device))
|
||||
parent_device = NULL;
|
||||
|
||||
ret = acpi_bus_add(&device, parent_device, handle,
|
||||
ACPI_BUS_TYPE_DEVICE);
|
||||
if (ret) {
|
||||
ret = acpi_bus_add(handle, &device);
|
||||
if (ret)
|
||||
pr_debug("error adding bus, %x\n", -ret);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return device;
|
||||
}
|
||||
|
|
|
@ -677,28 +677,6 @@ static int is_processor_present(acpi_handle handle)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int acpi_processor_device_add(acpi_handle handle, struct acpi_device **device)
|
||||
{
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *pdev;
|
||||
|
||||
|
||||
if (acpi_get_parent(handle, &phandle)) {
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (acpi_bus_get_device(phandle, &pdev)) {
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (acpi_bus_add(device, pdev, handle, ACPI_BUS_TYPE_PROCESSOR)) {
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void acpi_processor_hotplug_notify(acpi_handle handle,
|
||||
u32 event, void *data)
|
||||
{
|
||||
|
@ -721,7 +699,7 @@ static void acpi_processor_hotplug_notify(acpi_handle handle,
|
|||
if (!acpi_bus_get_device(handle, &device))
|
||||
break;
|
||||
|
||||
result = acpi_processor_device_add(handle, &device);
|
||||
result = acpi_bus_add(handle, &device);
|
||||
if (result) {
|
||||
acpi_handle_err(handle, "Unable to add the device\n");
|
||||
break;
|
||||
|
|
|
@ -1650,25 +1650,33 @@ static int acpi_bus_scan(acpi_handle handle, bool start,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* acpi_bus_add
|
||||
/**
|
||||
* acpi_bus_add - Add ACPI device node objects in a given namespace scope.
|
||||
* @handle: Root of the namespace scope to scan.
|
||||
* @ret: Location to store a return struct acpi_device pointer.
|
||||
*
|
||||
* scan a given ACPI tree and (probably recently hot-plugged)
|
||||
* create and add found devices.
|
||||
* Scan a given ACPI tree (probably recently hot-plugged) and create and add
|
||||
* found devices.
|
||||
*
|
||||
* If no devices were found -ENODEV is returned which does not
|
||||
* mean that this is a real error, there just have been no suitable
|
||||
* ACPI objects in the table trunk from which the kernel could create
|
||||
* a device and add an appropriate driver.
|
||||
* If no devices were found, -ENODEV is returned, but it does not mean that
|
||||
* there has been a real error. There just have been no suitable ACPI objects
|
||||
* in the table trunk from which the kernel could create a device and add an
|
||||
* appropriate driver.
|
||||
*
|
||||
* If 0 is returned, the memory location pointed to by @ret will be populated
|
||||
* with a pointer to a struct acpi_device created while scanning the namespace.
|
||||
* If @handle corresponds to a device node, that will be a pointer to the struct
|
||||
* acpi_device object corresponding to @handle. Otherwise, it will be a pointer
|
||||
* to a struct acpi_device corresponding to one of its descendants.
|
||||
*
|
||||
* If an error code is returned, NULL will be stored in the memory location
|
||||
* pointed to by @ret.
|
||||
*/
|
||||
|
||||
int
|
||||
acpi_bus_add(struct acpi_device **child,
|
||||
struct acpi_device *parent, acpi_handle handle, int type)
|
||||
int acpi_bus_add(acpi_handle handle, struct acpi_device **ret)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = acpi_bus_scan(handle, false, child);
|
||||
err = acpi_bus_scan(handle, false, ret);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
|
|
|
@ -734,15 +734,9 @@ static unsigned char acpiphp_max_busnr(struct pci_bus *bus)
|
|||
*/
|
||||
static int acpiphp_bus_add(struct acpiphp_func *func)
|
||||
{
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *device, *pdevice;
|
||||
struct acpi_device *device;
|
||||
int ret_val;
|
||||
|
||||
acpi_get_parent(func->handle, &phandle);
|
||||
if (acpi_bus_get_device(phandle, &pdevice)) {
|
||||
dbg("no parent device, assuming NULL\n");
|
||||
pdevice = NULL;
|
||||
}
|
||||
if (!acpi_bus_get_device(func->handle, &device)) {
|
||||
dbg("bus exists... trim\n");
|
||||
/* this shouldn't be in here, so remove
|
||||
|
@ -752,8 +746,7 @@ static int acpiphp_bus_add(struct acpiphp_func *func)
|
|||
dbg("acpi_bus_trim return %x\n", ret_val);
|
||||
}
|
||||
|
||||
ret_val = acpi_bus_add(&device, pdevice, func->handle,
|
||||
ACPI_BUS_TYPE_DEVICE);
|
||||
ret_val = acpi_bus_add(func->handle, &device);
|
||||
if (ret_val) {
|
||||
dbg("error adding bus, %x\n",
|
||||
-ret_val);
|
||||
|
@ -1129,8 +1122,7 @@ static int acpiphp_configure_bridge (acpi_handle handle)
|
|||
|
||||
static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
||||
{
|
||||
struct acpi_device *device, *pdevice;
|
||||
acpi_handle phandle;
|
||||
struct acpi_device *device;
|
||||
|
||||
if ((type != ACPI_NOTIFY_BUS_CHECK) &&
|
||||
(type != ACPI_NOTIFY_DEVICE_CHECK)) {
|
||||
|
@ -1138,12 +1130,7 @@ static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
|||
return;
|
||||
}
|
||||
|
||||
acpi_get_parent(handle, &phandle);
|
||||
if (acpi_bus_get_device(phandle, &pdevice)) {
|
||||
dbg("no parent device, assuming NULL\n");
|
||||
pdevice = NULL;
|
||||
}
|
||||
if (acpi_bus_add(&device, pdevice, handle, ACPI_BUS_TYPE_DEVICE)) {
|
||||
if (acpi_bus_add(handle, &device)) {
|
||||
err("cannot add bridge to acpi list\n");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -448,8 +448,7 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot)
|
|||
if (ACPI_SUCCESS(ret) &&
|
||||
(adr>>16) == (slot->device_num + 1)) {
|
||||
|
||||
ret = acpi_bus_add(&device, pdevice, chandle,
|
||||
ACPI_BUS_TYPE_DEVICE);
|
||||
ret = acpi_bus_add(chandle, &device);
|
||||
if (ACPI_FAILURE(ret)) {
|
||||
printk(KERN_ERR "%s: acpi_bus_add "
|
||||
"failed (0x%x) for slot %d "
|
||||
|
|
|
@ -358,8 +358,7 @@ static inline int acpi_bus_generate_proc_event(struct acpi_device *device, u8 ty
|
|||
#endif
|
||||
int acpi_bus_register_driver(struct acpi_driver *driver);
|
||||
void acpi_bus_unregister_driver(struct acpi_driver *driver);
|
||||
int acpi_bus_add(struct acpi_device **child, struct acpi_device *parent,
|
||||
acpi_handle handle, int type);
|
||||
int acpi_bus_add(acpi_handle handle, struct acpi_device **ret);
|
||||
void acpi_bus_hot_remove_device(void *context);
|
||||
int acpi_bus_trim(struct acpi_device *start, int rmdevice);
|
||||
acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
|
||||
|
|
Loading…
Reference in New Issue
Block a user