1. 28 5月, 2013 1 次提交
  2. 08 5月, 2013 1 次提交
  3. 02 5月, 2013 2 次提交
  4. 30 4月, 2013 1 次提交
  5. 25 4月, 2013 1 次提交
  6. 23 4月, 2013 13 次提交
  7. 18 4月, 2013 4 次提交
  8. 17 4月, 2013 4 次提交
  9. 16 4月, 2013 8 次提交
  10. 13 4月, 2013 5 次提交
    • J
      PCI: acpiphp: Do not use ACPI PCI subdriver mechanism · 3b63aaa7
      Jiang Liu 提交于
      Previously the acpiphp driver registered itself as an ACPI PCI subdriver,
      so its callbacks were invoked when creating/destroying PCI root
      buses to manage ACPI-based PCI hotplug slots.  But it doesn't handle
      P2P bridge hotplug events, so it will cause strange behaviour if there
      are hotplug slots associated with a hot-removed P2P bridge.
      
      This patch fixes this issue by:
      1) Directly hooking into PCI core to update hotplug slot devices when
         creating/destroying PCI buses through:
      	pci_{add|remove}_bus() -> acpi_pci_{add|remove}_bus()
      2) Getting rid of unused ACPI PCI subdriver-related code
      
      It also cleans up unused code in the acpiphp driver.
      
      [bhelgaas: keep acpi_pci_add_bus() stub for CONFIG_ACPI=n]
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NYinghai Lu <yinghai@kernel.org>
      Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
      Cc: Toshi Kani <toshi.kani@hp.com>
      3b63aaa7
    • J
      PCI: acpiphp: Convert acpiphp to be builtin only, not modular · 6037a803
      Jiang Liu 提交于
      Convert acpiphp to be builtin only, with no module option.
      
      Previously, when HOTPLUG_PCI_ACPI=m, users could disable acpiphp by
      removing the module or preventing it from loading.  That can't be done
      if acpiphp is builtin statically, so this adds an "acpiphp.disable"
      kernel parameter.  If a user needs to use this parameter, it is a bug,
      and we want to hear about it.
      
      [bhelgaas: fold in acpiphp.disable here, remove documentation]
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      6037a803
    • J
      PCI/ACPI: Handle PCI slot devices when creating/destroying PCI buses · 5c0b04e3
      Jiang Liu 提交于
      Currently the pci_slot driver doesn't update PCI slot devices when PCI
      device hotplug event happens, which may cause memory leak and returning
      stale information to user.
      
      Now the pci_slot driver has been changed as built-in driver, so invoke
      PCI slot enumeration and destroy routines directly from the PCI core.
      And remove ACPI PCI sub-driver related code because it isn't needed
      any more.
      
      [bhelgas: removed "extern" from function declarations]
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NYinghai Lu <yinghai@kernel.org>
      Acked-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: Toshi Kani <toshi.kani@hp.com>
      5c0b04e3
    • J
      PCI/ACPI: Prepare stub functions to handle ACPI PCI (hotplug) slots · 5090d4a6
      Jiang Liu 提交于
      Prepare two stub functions to handle ACPI PCI slots and ACPI PCI hotplug
      slots, which will be invoked by the PCI core when creating/destroying
      PCI buses.
      
      It will be used to get rid of ACPI PCI subdrivers for pci_slot and
      acpiphp, and eventually remove the ACPI PCI subdriver mechanism.
      
      And it will also be used to handle ACPI PCI (hotplug) slots in a unified
      way, both at boot time and for PCI hotplug operations.
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NYinghai 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>
      5090d4a6
    • J
      PCI: Add pcibios hooks for adding and removing PCI buses · 10a95747
      Jiang Liu 提交于
      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: NJiang Liu <jiang.liu@huawei.com>
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NYinghai 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