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: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Yinghai Lu <yinghai@kernel.org> Acked-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
Родитель
53540098b2
Коммит
924144818c
|
@ -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));
|
||||||
|
|
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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 *);
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче