mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
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
8 changed files with 32 additions and 101 deletions
|
@ -157,34 +157,17 @@ static int
|
||||||
acpi_memory_get_device(acpi_handle handle,
|
acpi_memory_get_device(acpi_handle handle,
|
||||||
struct acpi_memory_device **mem_device)
|
struct acpi_memory_device **mem_device)
|
||||||
{
|
{
|
||||||
acpi_status status;
|
|
||||||
acpi_handle phandle;
|
|
||||||
struct acpi_device *device = NULL;
|
struct acpi_device *device = NULL;
|
||||||
struct acpi_device *pdevice = NULL;
|
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
|
|
||||||
if (!acpi_bus_get_device(handle, &device) && device)
|
if (!acpi_bus_get_device(handle, &device) && device)
|
||||||
goto end;
|
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
|
* Now add the notified device. This creates the acpi_device
|
||||||
* and invokes .add function
|
* and invokes .add function
|
||||||
*/
|
*/
|
||||||
result = acpi_bus_add(&device, pdevice, handle, ACPI_BUS_TYPE_DEVICE);
|
result = acpi_bus_add(handle, &device);
|
||||||
if (result) {
|
if (result) {
|
||||||
acpi_handle_warn(handle, "Cannot add acpi bus\n");
|
acpi_handle_warn(handle, "Cannot add acpi bus\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
|
@ -135,20 +135,6 @@ static int acpi_container_remove(struct acpi_device *device, int type)
|
||||||
return status;
|
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)
|
static void container_notify_cb(acpi_handle handle, u32 type, void *context)
|
||||||
{
|
{
|
||||||
struct acpi_device *device = NULL;
|
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)
|
if (!ACPI_FAILURE(status) || device)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
result = container_device_add(&device, handle);
|
result = acpi_bus_add(handle, &device);
|
||||||
if (result) {
|
if (result) {
|
||||||
acpi_handle_warn(handle, "Failed to add container\n");
|
acpi_handle_warn(handle, "Failed to add container\n");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -310,8 +310,6 @@ static int dock_present(struct dock_station *ds)
|
||||||
static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
|
static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
|
||||||
{
|
{
|
||||||
struct acpi_device *device;
|
struct acpi_device *device;
|
||||||
struct acpi_device *parent_device;
|
|
||||||
acpi_handle parent;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (acpi_bus_get_device(handle, &device)) {
|
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,
|
* no device created for this object,
|
||||||
* so we should create one.
|
* so we should create one.
|
||||||
*/
|
*/
|
||||||
acpi_get_parent(handle, &parent);
|
ret = acpi_bus_add(handle, &device);
|
||||||
if (acpi_bus_get_device(parent, &parent_device))
|
if (ret)
|
||||||
parent_device = NULL;
|
|
||||||
|
|
||||||
ret = acpi_bus_add(&device, parent_device, handle,
|
|
||||||
ACPI_BUS_TYPE_DEVICE);
|
|
||||||
if (ret) {
|
|
||||||
pr_debug("error adding bus, %x\n", -ret);
|
pr_debug("error adding bus, %x\n", -ret);
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
|
@ -677,28 +677,6 @@ static int is_processor_present(acpi_handle handle)
|
||||||
return 0;
|
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,
|
static void acpi_processor_hotplug_notify(acpi_handle handle,
|
||||||
u32 event, void *data)
|
u32 event, void *data)
|
||||||
{
|
{
|
||||||
|
@ -721,7 +699,7 @@ static void acpi_processor_hotplug_notify(acpi_handle handle,
|
||||||
if (!acpi_bus_get_device(handle, &device))
|
if (!acpi_bus_get_device(handle, &device))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
result = acpi_processor_device_add(handle, &device);
|
result = acpi_bus_add(handle, &device);
|
||||||
if (result) {
|
if (result) {
|
||||||
acpi_handle_err(handle, "Unable to add the device\n");
|
acpi_handle_err(handle, "Unable to add the device\n");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1650,25 +1650,33 @@ static int acpi_bus_scan(acpi_handle handle, bool start,
|
||||||
return ret;
|
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)
|
* Scan a given ACPI tree (probably recently hot-plugged) and create and add
|
||||||
* create and add found devices.
|
* found devices.
|
||||||
*
|
*
|
||||||
* If no devices were found -ENODEV is returned which does not
|
* If no devices were found, -ENODEV is returned, but it does not mean that
|
||||||
* mean that this is a real error, there just have been no suitable
|
* there has been a real error. There just have been no suitable ACPI objects
|
||||||
* ACPI objects in the table trunk from which the kernel could create
|
* in the table trunk from which the kernel could create a device and add an
|
||||||
* a device and add an appropriate driver.
|
* 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(acpi_handle handle, struct acpi_device **ret)
|
||||||
int
|
|
||||||
acpi_bus_add(struct acpi_device **child,
|
|
||||||
struct acpi_device *parent, acpi_handle handle, int type)
|
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = acpi_bus_scan(handle, false, child);
|
err = acpi_bus_scan(handle, false, ret);
|
||||||
if (err)
|
if (err)
|
||||||
return 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)
|
static int acpiphp_bus_add(struct acpiphp_func *func)
|
||||||
{
|
{
|
||||||
acpi_handle phandle;
|
struct acpi_device *device;
|
||||||
struct acpi_device *device, *pdevice;
|
|
||||||
int ret_val;
|
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)) {
|
if (!acpi_bus_get_device(func->handle, &device)) {
|
||||||
dbg("bus exists... trim\n");
|
dbg("bus exists... trim\n");
|
||||||
/* this shouldn't be in here, so remove
|
/* 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);
|
dbg("acpi_bus_trim return %x\n", ret_val);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret_val = acpi_bus_add(&device, pdevice, func->handle,
|
ret_val = acpi_bus_add(func->handle, &device);
|
||||||
ACPI_BUS_TYPE_DEVICE);
|
|
||||||
if (ret_val) {
|
if (ret_val) {
|
||||||
dbg("error adding bus, %x\n",
|
dbg("error adding bus, %x\n",
|
||||||
-ret_val);
|
-ret_val);
|
||||||
|
@ -1129,8 +1122,7 @@ static int acpiphp_configure_bridge (acpi_handle handle)
|
||||||
|
|
||||||
static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
||||||
{
|
{
|
||||||
struct acpi_device *device, *pdevice;
|
struct acpi_device *device;
|
||||||
acpi_handle phandle;
|
|
||||||
|
|
||||||
if ((type != ACPI_NOTIFY_BUS_CHECK) &&
|
if ((type != ACPI_NOTIFY_BUS_CHECK) &&
|
||||||
(type != ACPI_NOTIFY_DEVICE_CHECK)) {
|
(type != ACPI_NOTIFY_DEVICE_CHECK)) {
|
||||||
|
@ -1138,12 +1130,7 @@ static void handle_bridge_insertion(acpi_handle handle, u32 type)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
acpi_get_parent(handle, &phandle);
|
if (acpi_bus_add(handle, &device)) {
|
||||||
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)) {
|
|
||||||
err("cannot add bridge to acpi list\n");
|
err("cannot add bridge to acpi list\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -448,8 +448,7 @@ static int enable_slot(struct hotplug_slot *bss_hotplug_slot)
|
||||||
if (ACPI_SUCCESS(ret) &&
|
if (ACPI_SUCCESS(ret) &&
|
||||||
(adr>>16) == (slot->device_num + 1)) {
|
(adr>>16) == (slot->device_num + 1)) {
|
||||||
|
|
||||||
ret = acpi_bus_add(&device, pdevice, chandle,
|
ret = acpi_bus_add(chandle, &device);
|
||||||
ACPI_BUS_TYPE_DEVICE);
|
|
||||||
if (ACPI_FAILURE(ret)) {
|
if (ACPI_FAILURE(ret)) {
|
||||||
printk(KERN_ERR "%s: acpi_bus_add "
|
printk(KERN_ERR "%s: acpi_bus_add "
|
||||||
"failed (0x%x) for slot %d "
|
"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
|
#endif
|
||||||
int acpi_bus_register_driver(struct acpi_driver *driver);
|
int acpi_bus_register_driver(struct acpi_driver *driver);
|
||||||
void acpi_bus_unregister_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,
|
int acpi_bus_add(acpi_handle handle, struct acpi_device **ret);
|
||||||
acpi_handle handle, int type);
|
|
||||||
void acpi_bus_hot_remove_device(void *context);
|
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, int rmdevice);
|
||||||
acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
|
acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
|
||||||
|
|
Loading…
Reference in a new issue