aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2009-11-12 21:06:08 -0500
committerLen Brown <len.brown@intel.com>2009-11-24 21:31:10 -0500
commit2263576cfc6e8f6ab038126c3254404b9fcb1c33 (patch)
tree1c1bd06cc5d89978a23a19d549764d3dc8c7c6c4 /drivers/pci/hotplug
parent7d5d05d0704127c9acd24090c14731c111bd0af1 (diff)
ACPICA: Add post-order callback to acpi_walk_namespace
The existing interface only has a pre-order callback. This change adds an additional parameter for a post-order callback which will be more useful for bus scans. ACPICA BZ 779. Also update the external calls to acpi_walk_namespace. http://www.acpica.org/bugzilla/show_bug.cgi?id=779 Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pci/hotplug')
-rw-r--r--drivers/pci/hotplug/acpi_pcihp.c2
-rw-r--r--drivers/pci/hotplug/acpiphp_glue.c22
-rw-r--r--drivers/pci/hotplug/acpiphp_ibm.c2
3 files changed, 13 insertions, 13 deletions
diff --git a/drivers/pci/hotplug/acpi_pcihp.c b/drivers/pci/hotplug/acpi_pcihp.c
index a73028ec52e..0f32571b94d 100644
--- a/drivers/pci/hotplug/acpi_pcihp.c
+++ b/drivers/pci/hotplug/acpi_pcihp.c
@@ -471,7 +471,7 @@ int acpi_pci_detect_ejectable(acpi_handle handle)
471 return found; 471 return found;
472 472
473 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 1, 473 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 1,
474 check_hotplug, (void *)&found, NULL); 474 check_hotplug, NULL, (void *)&found, NULL);
475 return found; 475 return found;
476} 476}
477EXPORT_SYMBOL_GPL(acpi_pci_detect_ejectable); 477EXPORT_SYMBOL_GPL(acpi_pci_detect_ejectable);
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
index 58d25a163a8..df1b0ea089d 100644
--- a/drivers/pci/hotplug/acpiphp_glue.c
+++ b/drivers/pci/hotplug/acpiphp_glue.c
@@ -266,7 +266,7 @@ static int detect_ejectable_slots(acpi_handle handle)
266 int found = acpi_pci_detect_ejectable(handle); 266 int found = acpi_pci_detect_ejectable(handle);
267 if (!found) { 267 if (!found) {
268 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1, 268 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1,
269 is_pci_dock_device, (void *)&found, NULL); 269 is_pci_dock_device, NULL, (void *)&found, NULL);
270 } 270 }
271 return found; 271 return found;
272} 272}
@@ -281,7 +281,7 @@ static void init_bridge_misc(struct acpiphp_bridge *bridge)
281 281
282 /* register all slot objects under this bridge */ 282 /* register all slot objects under this bridge */
283 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, bridge->handle, (u32)1, 283 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, bridge->handle, (u32)1,
284 register_slot, bridge, NULL); 284 register_slot, NULL, bridge, NULL);
285 if (ACPI_FAILURE(status)) { 285 if (ACPI_FAILURE(status)) {
286 list_del(&bridge->list); 286 list_del(&bridge->list);
287 return; 287 return;
@@ -447,7 +447,7 @@ find_p2p_bridge(acpi_handle handle, u32 lvl, void *context, void **rv)
447 447
448 /* search P2P bridges under this p2p bridge */ 448 /* search P2P bridges under this p2p bridge */
449 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1, 449 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1,
450 find_p2p_bridge, NULL, NULL); 450 find_p2p_bridge, NULL, NULL, NULL);
451 if (ACPI_FAILURE(status)) 451 if (ACPI_FAILURE(status))
452 warn("find_p2p_bridge failed (error code = 0x%x)\n", status); 452 warn("find_p2p_bridge failed (error code = 0x%x)\n", status);
453 453
@@ -485,7 +485,7 @@ static int add_bridge(acpi_handle handle)
485 485
486 /* search P2P bridges under this host bridge */ 486 /* search P2P bridges under this host bridge */
487 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1, 487 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1,
488 find_p2p_bridge, NULL, NULL); 488 find_p2p_bridge, NULL, NULL, NULL);
489 489
490 if (ACPI_FAILURE(status)) 490 if (ACPI_FAILURE(status))
491 warn("find_p2p_bridge failed (error code = 0x%x)\n", status); 491 warn("find_p2p_bridge failed (error code = 0x%x)\n", status);
@@ -573,7 +573,7 @@ cleanup_p2p_bridge(acpi_handle handle, u32 lvl, void *context, void **rv)
573 /* cleanup p2p bridges under this P2P bridge 573 /* cleanup p2p bridges under this P2P bridge
574 in a depth-first manner */ 574 in a depth-first manner */
575 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1, 575 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1,
576 cleanup_p2p_bridge, NULL, NULL); 576 cleanup_p2p_bridge, NULL, NULL, NULL);
577 577
578 bridge = acpiphp_handle_to_bridge(handle); 578 bridge = acpiphp_handle_to_bridge(handle);
579 if (bridge) 579 if (bridge)
@@ -589,7 +589,7 @@ static void remove_bridge(acpi_handle handle)
589 /* cleanup p2p bridges under this host bridge 589 /* cleanup p2p bridges under this host bridge
590 in a depth-first manner */ 590 in a depth-first manner */
591 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 591 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
592 (u32)1, cleanup_p2p_bridge, NULL, NULL); 592 (u32)1, cleanup_p2p_bridge, NULL, NULL, NULL);
593 593
594 /* 594 /*
595 * On root bridges with hotplug slots directly underneath (ie, 595 * On root bridges with hotplug slots directly underneath (ie,
@@ -778,7 +778,7 @@ static int acpiphp_configure_ioapics(acpi_handle handle)
778{ 778{
779 ioapic_add(handle, 0, NULL, NULL); 779 ioapic_add(handle, 0, NULL, NULL);
780 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 780 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
781 ACPI_UINT32_MAX, ioapic_add, NULL, NULL); 781 ACPI_UINT32_MAX, ioapic_add, NULL, NULL, NULL);
782 return 0; 782 return 0;
783} 783}
784 784
@@ -786,7 +786,7 @@ static int acpiphp_unconfigure_ioapics(acpi_handle handle)
786{ 786{
787 ioapic_remove(handle, 0, NULL, NULL); 787 ioapic_remove(handle, 0, NULL, NULL);
788 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 788 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
789 ACPI_UINT32_MAX, ioapic_remove, NULL, NULL); 789 ACPI_UINT32_MAX, ioapic_remove, NULL, NULL, NULL);
790 return 0; 790 return 0;
791} 791}
792 792
@@ -1367,7 +1367,7 @@ static void handle_hotplug_event_bridge(acpi_handle handle, u32 type, void *cont
1367 bridge = acpiphp_handle_to_bridge(handle); 1367 bridge = acpiphp_handle_to_bridge(handle);
1368 if (type == ACPI_NOTIFY_BUS_CHECK) { 1368 if (type == ACPI_NOTIFY_BUS_CHECK) {
1369 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, ACPI_UINT32_MAX, 1369 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, ACPI_UINT32_MAX,
1370 count_sub_bridges, &num_sub_bridges, NULL); 1370 count_sub_bridges, NULL, &num_sub_bridges, NULL);
1371 } 1371 }
1372 1372
1373 if (!bridge && !num_sub_bridges) { 1373 if (!bridge && !num_sub_bridges) {
@@ -1388,7 +1388,7 @@ static void handle_hotplug_event_bridge(acpi_handle handle, u32 type, void *cont
1388 } 1388 }
1389 if (num_sub_bridges) 1389 if (num_sub_bridges)
1390 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 1390 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
1391 ACPI_UINT32_MAX, check_sub_bridges, NULL, NULL); 1391 ACPI_UINT32_MAX, check_sub_bridges, NULL, NULL, NULL);
1392 break; 1392 break;
1393 1393
1394 case ACPI_NOTIFY_DEVICE_CHECK: 1394 case ACPI_NOTIFY_DEVICE_CHECK:
@@ -1512,7 +1512,7 @@ int __init acpiphp_glue_init(void)
1512 int num = 0; 1512 int num = 0;
1513 1513
1514 acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, 1514 acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
1515 ACPI_UINT32_MAX, find_root_bridges, &num, NULL); 1515 ACPI_UINT32_MAX, find_root_bridges, NULL, &num, NULL);
1516 1516
1517 if (num <= 0) 1517 if (num <= 0)
1518 return -1; 1518 return -1;
diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
index e7be66dbac2..aa5df485f8c 100644
--- a/drivers/pci/hotplug/acpiphp_ibm.c
+++ b/drivers/pci/hotplug/acpiphp_ibm.c
@@ -434,7 +434,7 @@ static int __init ibm_acpiphp_init(void)
434 dbg("%s\n", __func__); 434 dbg("%s\n", __func__);
435 435
436 if (acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, 436 if (acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
437 ACPI_UINT32_MAX, ibm_find_acpi_device, 437 ACPI_UINT32_MAX, ibm_find_acpi_device, NULL,
438 &ibm_acpi_handle, NULL) != FOUND_APCI) { 438 &ibm_acpi_handle, NULL) != FOUND_APCI) {
439 err("%s: acpi_walk_namespace failed\n", __func__); 439 err("%s: acpi_walk_namespace failed\n", __func__);
440 retval = -ENODEV; 440 retval = -ENODEV;