Re: [PATCH] PCI / hotplug / ACPI: Get rid of check_sub_bridges()

From: Rafael J. Wysocki
Date: Sat Jul 13 2013 - 17:37:45 EST


On Saturday, July 13, 2013 08:09:59 PM Mika Westerberg wrote:
> Now that acpiphp_check_bridge() always enumerates devices behind the
> bridge, there is no need to do that for each sub-bridge anymore like it is
> done in the current ACPI-based PCI hotplug code. Given this we don't need
> check_sub_bridges() anymore and can drop the function completely.
>
> This also simplifies the ACPIPHP code a bit.
>
> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> ---
> This applies on top of v3.10 with Rafael's ACPIPHP + Thunderbolt series
> applied:
>

OK, I added it to my bleeding-edge branch along with this series:

> http://www.spinics.net/lists/linux-acpi/msg44480.html

rebased on top of some previous ACPI cleanup commits. I needed to make some
changes in the process (and fixed up some breakage reported by the auto build
testing), hopefully I didn't break anything. If you're in an adventurous mood,
testing would be welcome. ;-) [That already includes the majority of 3.11
material from Linus, though, so unexpected breakage elsewhere may happen.]

Thanks,
Rafael


> drivers/pci/hotplug/acpiphp_glue.c | 25 -------------------------
> 1 file changed, 25 deletions(-)
>
> diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
> index 62e09af..741504a 100644
> --- a/drivers/pci/hotplug/acpiphp_glue.c
> +++ b/drivers/pci/hotplug/acpiphp_glue.c
> @@ -760,25 +760,6 @@ static void acpiphp_sanitize_bus(struct pci_bus *bus)
> * ACPI event handlers
> */
>
> -static acpi_status
> -check_sub_bridges(acpi_handle handle, u32 lvl, void *context, void **rv)
> -{
> - struct acpiphp_bridge *bridge;
> - char objname[64];
> - struct acpi_buffer buffer = { .length = sizeof(objname),
> - .pointer = objname };
> -
> - bridge = acpiphp_handle_to_bridge(handle);
> - if (bridge) {
> - acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer);
> - dbg("%s: re-enumerating slots under %s\n",
> - __func__, objname);
> - acpiphp_check_bridge(bridge);
> - put_bridge(bridge);
> - }
> - return AE_OK ;
> -}
> -
> void acpiphp_check_host_bridge(acpi_handle handle)
> {
> struct acpiphp_bridge *bridge;
> @@ -788,9 +769,6 @@ void acpiphp_check_host_bridge(acpi_handle handle)
> acpiphp_check_bridge(bridge);
> put_bridge(bridge);
> }
> -
> - acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
> - ACPI_UINT32_MAX, check_sub_bridges, NULL, NULL, NULL);
> }
>
> static void hotplug_event(acpi_handle handle, u32 type, void *data)
> @@ -818,9 +796,6 @@ static void hotplug_event(acpi_handle handle, u32 type, void *data)
> dbg("%s: re-enumerating slots under %s\n", __func__, objname);
> if (bridge) {
> acpiphp_check_bridge(bridge);
> - acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
> - ACPI_UINT32_MAX, check_sub_bridges,
> - NULL, NULL, NULL);
> } else {
> struct acpiphp_slot *slot = func->slot;
>
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/