Skip to content
  • Jiang Liu's avatar
    PCI: Add pcibios hooks for adding and removing PCI buses · 10a95747
    Jiang Liu authored
    
    
    On ACPI-based platforms, the pci_slot driver creates PCI slot devices
    according to information from ACPI tables by registering an ACPI PCI
    subdriver.  The ACPI PCI subdriver will only be called when creating/
    destroying PCI root buses, and it won't be called when hot-plugging
    P2P bridges.  It may cause stale PCI slot devices after hot-removing
    a P2P bridge if that bridge has associated PCI slots.  And the acpiphp
    driver has the same issue too.
    
    This patch introduces two hook points into the PCI core, which will
    be invoked when creating/destroying PCI buses for PCI host and P2P
    bridges.  They could be used to setup/destroy platform dependent stuff
    in a unified way, both at boot time and for PCI hotplug operations.
    
    Signed-off-by: default avatarJiang Liu <jiang.liu@huawei.com>
    Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarYinghai Lu <yinghai@kernel.org>
    Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
    Cc: Toshi Kani <toshi.kani@hp.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Myron Stowe <myron.stowe@redhat.com>
    10a95747