Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 636458de authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

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: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
Acked-by: default avatarToshi Kani <toshi.kani@hp.com>
parent 02f57c67
Loading
Loading
Loading
Loading
+1 −18
Original line number Diff line number Diff line
@@ -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;
+1 −15
Original line number Diff line number Diff line
@@ -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;
+2 −11
Original line number Diff line number Diff line
@@ -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;
}
+1 −23
Original line number Diff line number Diff line
@@ -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;
+21 −13
Original line number Diff line number Diff line
@@ -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 (probably recently hot-plugged) and create and add
 * found devices.
 *
 * scan a given ACPI tree and (probably recently hot-plugged)
 * create and add found devices.
 * 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 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 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;

Loading