]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - drivers/acpi/pci_root.c
ACPI: fix Supermicro X7DB8+ Boot regression
authorRui Zhang <rui.zhang@intel.com>
Thu, 21 Dec 2006 07:21:13 +0000 (02:21 -0500)
committerLen Brown <len.brown@intel.com>
Thu, 21 Dec 2006 08:07:37 +0000 (03:07 -0500)
commit2786f6e388e9dfe9e7b1c3c6bd7fcfba9cfb9831
tree76f0bbaf42cc977a3b6944314f4c3043937a8ee7
parente49bd2dd5a503bb94fe2f2af45422b610940b75d
ACPI: fix Supermicro X7DB8+ Boot regression

http://bugzilla.kernel.org/show_bug.cgi?id=7695

Originally we converted bind/unbind to use a new pci bridge driver.
The driver will add/remove _PRT, so we can eventually remove
.bind/.unbind methods.

But we found that some of the _ADR-Based devices don't have _PRT,
i.e. they are not managed by the new ACPI PCI bridge driver.
So that .bind method is not called for some _ADR-Based devices,
which leads to a failure.

Now we make ACPI PCI Root Bridge Driver scan and binds all _ADR-Based devices
once the driver is loaded, in the .add method of ACPI PCI Root Bridge driver.

Extra code path for calling .bind/.unbind when _ADR-Based devices
are hot added/removed is also added.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/pci_bind.c
drivers/acpi/pci_root.c
drivers/acpi/scan.c
include/acpi/acpi_drivers.h