|
@@ -369,20 +369,6 @@ static acpi_status acpiphp_add_context(acpi_handle handle, u32 lvl, void *data,
|
|
|
return AE_OK;
|
|
|
}
|
|
|
|
|
|
-static struct acpiphp_bridge *acpiphp_dev_to_bridge(struct acpi_device *adev)
|
|
|
-{
|
|
|
- struct acpiphp_bridge *bridge = NULL;
|
|
|
-
|
|
|
- acpi_lock_hp_context();
|
|
|
- if (adev->hp) {
|
|
|
- bridge = to_acpiphp_root_context(adev->hp)->root_bridge;
|
|
|
- if (bridge)
|
|
|
- get_bridge(bridge);
|
|
|
- }
|
|
|
- acpi_unlock_hp_context();
|
|
|
- return bridge;
|
|
|
-}
|
|
|
-
|
|
|
static void cleanup_bridge(struct acpiphp_bridge *bridge)
|
|
|
{
|
|
|
struct acpiphp_slot *slot;
|
|
@@ -753,9 +739,15 @@ static void acpiphp_sanitize_bus(struct pci_bus *bus)
|
|
|
|
|
|
void acpiphp_check_host_bridge(struct acpi_device *adev)
|
|
|
{
|
|
|
- struct acpiphp_bridge *bridge;
|
|
|
+ struct acpiphp_bridge *bridge = NULL;
|
|
|
|
|
|
- bridge = acpiphp_dev_to_bridge(adev);
|
|
|
+ acpi_lock_hp_context();
|
|
|
+ if (adev->hp) {
|
|
|
+ bridge = to_acpiphp_root_context(adev->hp)->root_bridge;
|
|
|
+ if (bridge)
|
|
|
+ get_bridge(bridge);
|
|
|
+ }
|
|
|
+ acpi_unlock_hp_context();
|
|
|
if (bridge) {
|
|
|
pci_lock_rescan_remove();
|
|
|
|