Re: [PATCH v2 34/37] x86, PCI: Add arch version pci_root_rescan()

From: Bjorn Helgaas
Date: Mon Mar 12 2012 - 23:41:01 EST


On Sat, Mar 10, 2012 at 12:00 AM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> It will call acpi version pci_root_rescan and legacy pci_root_rescan.
>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> ---
>  arch/x86/pci/common.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
> index 2ebdc231..0ec860f 100644
> --- a/arch/x86/pci/common.c
> +++ b/arch/x86/pci/common.c
> @@ -10,6 +10,7 @@
>  #include <linux/init.h>
>  #include <linux/dmi.h>
>  #include <linux/slab.h>
> +#include <linux/pci-acpi.h>
>
>  #include <asm/acpi.h>
>  #include <asm/segment.h>
> @@ -661,6 +662,12 @@ struct pci_bus * __devinit pci_scan_bus_with_sysdata(int busno)
>        return pci_scan_bus_on_node(busno, &pci_root_ops, -1);
>  }
>
> +void arch_pci_root_rescan(void)
> +{
> +       acpi_pci_root_rescan();
> +       pcibios_root_rescan();

I don't think we need this either.

We don't need pcibios_root_rescan() because there's no way to add or
remove buses except via the normal ACPI hotplug mechanisms. (Well,
you did add sysfs ways to do it, but I don't like those either, and
they certainly don't work for any kind of normal hotplug users might
do.)

We don't need acpi_pci_root_rescan(), because for actual host bridge
add/remove, we will get ACPI notify events, and we can use the normal
ways of handling those events. For debug purposes, we can have a
sysfs interface that kicks things off the same way a notify event
would.

> +}
> +
>  /*
>  * NUMA info for PCI busses
>  *
> --
> 1.7.7
>
--
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/