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

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

ACPI / glue: Drop .find_bridge() callback from struct acpi_bus_type



After PCI and USB have stopped using the .find_bridge() callback in
struct acpi_bus_type, the only remaining user of it is SATA, but SATA
only pretends to be a user, because it points that callback to a stub
always returning -ENODEV.

For this reason, drop the SATA's dummy .find_bridge() callback and
remove .find_bridge(), which is not used any more, from struct
acpi_bus_type entirely.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
Acked-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 53540098
Loading
Loading
Loading
Loading
+1 −25
Original line number Original line Diff line number Diff line
@@ -78,22 +78,6 @@ static struct acpi_bus_type *acpi_get_bus_type(struct device *dev)
	return ret;
	return ret;
}
}


static int acpi_find_bridge_device(struct device *dev, acpi_handle * handle)
{
	struct acpi_bus_type *tmp;
	int ret = -ENODEV;

	down_read(&bus_type_sem);
	list_for_each_entry(tmp, &bus_type_list, list) {
		if (tmp->find_bridge && !tmp->find_bridge(dev, handle)) {
			ret = 0;
			break;
		}
	}
	up_read(&bus_type_sem);
	return ret;
}

static acpi_status do_acpi_find_child(acpi_handle handle, u32 lvl_not_used,
static acpi_status do_acpi_find_child(acpi_handle handle, u32 lvl_not_used,
				      void *addr_p, void **ret_p)
				      void *addr_p, void **ret_p)
{
{
@@ -262,15 +246,7 @@ static int acpi_platform_notify(struct device *dev)
	int ret;
	int ret;


	ret = acpi_bind_one(dev, NULL);
	ret = acpi_bind_one(dev, NULL);
	if (ret) {
	if (ret && type) {
		if (!type) {
			ret = acpi_find_bridge_device(dev, &handle);
			if (!ret)
				ret = acpi_bind_one(dev, handle);

			goto out;
		}

		ret = type->find_device(dev, &handle);
		ret = type->find_device(dev, &handle);
		if (ret) {
		if (ret) {
			DBG("Unable to get handle for %s\n", dev_name(dev));
			DBG("Unable to get handle for %s\n", dev_name(dev));
+0 −6
Original line number Original line Diff line number Diff line
@@ -1144,14 +1144,8 @@ static int ata_acpi_find_device(struct device *dev, acpi_handle *handle)
		return -ENODEV;
		return -ENODEV;
}
}


static int ata_acpi_find_dummy(struct device *dev, acpi_handle *handle)
{
	return -ENODEV;
}

static struct acpi_bus_type ata_acpi_bus = {
static struct acpi_bus_type ata_acpi_bus = {
	.name = "ATA",
	.name = "ATA",
	.find_bridge = ata_acpi_find_dummy,
	.find_device = ata_acpi_find_device,
	.find_device = ata_acpi_find_device,
};
};


+0 −3
Original line number Original line Diff line number Diff line
@@ -439,10 +439,7 @@ struct acpi_bus_type {
	struct list_head list;
	struct list_head list;
	const char *name;
	const char *name;
	bool (*match)(struct device *dev);
	bool (*match)(struct device *dev);
	/* For general devices under the bus */
	int (*find_device) (struct device *, acpi_handle *);
	int (*find_device) (struct device *, acpi_handle *);
	/* For bridges, such as PCI root bridge, IDE controller */
	int (*find_bridge) (struct device *, acpi_handle *);
	void (*setup)(struct device *);
	void (*setup)(struct device *);
	void (*cleanup)(struct device *);
	void (*cleanup)(struct device *);
};
};