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 <[email protected]>
Signed-off-by: Len Brown <[email protected]>
This commit is contained in:
Rui Zhang 2006-12-21 02:21:13 -05:00 • committed by Len Brown
commit 2786f6e388
4 changed files with 43 additions and 55 deletions

View file

@ -44,7 +44,6 @@
#define ACPI_BUTTON_HID_SLEEPF "ACPI_FSB"
#define ACPI_VIDEO_HID "ACPI_VID"
#define ACPI_PCI_BRIDGE_HID "ACPI_PCI"
/* --------------------------------------------------------------------------
PCI
-------------------------------------------------------------------------- */