diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-02-23 22:18:58 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-02-23 22:18:58 -0500 |
commit | 3c13be017abe041e495862d50dbd83093e09cd6a (patch) | |
tree | 54f430a5df0d835950430b7199633cc578041c32 /arch | |
parent | 14be538c566f6fd6f8c8abd1687aa5d36a600703 (diff) |
powerpc/PCI: make pci_probe_only default to 0
pci_probe_only is set on ppc64 to prevent resource re-allocation
by the core. It's meant to be used in very specific circumstances
such as when operating under a hypervisor that may prevent such
re-allocation.
Instead of default to 1, we make it default to 0 and explicitly
set it in the few cases where we need it.
This fixes FSL PCI which wants it clear among others.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/pci_64.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/pci.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/powernv/pci.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/setup.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/wsp/wsp_pci.c | 1 |
5 files changed, 4 insertions, 8 deletions
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index 3318d39b7d4c..f627eb7be9e2 100644 --- a/arch/powerpc/kernel/pci_64.c +++ b/arch/powerpc/kernel/pci_64.c | |||
@@ -33,7 +33,7 @@ | |||
33 | #include <asm/machdep.h> | 33 | #include <asm/machdep.h> |
34 | #include <asm/ppc-pci.h> | 34 | #include <asm/ppc-pci.h> |
35 | 35 | ||
36 | unsigned long pci_probe_only = 1; | 36 | unsigned long pci_probe_only = 0; |
37 | 37 | ||
38 | /* pci_io_base -- the base address from which io bars are offsets. | 38 | /* pci_io_base -- the base address from which io bars are offsets. |
39 | * This is the lowest I/O base address (so bar values are always positive), | 39 | * This is the lowest I/O base address (so bar values are always positive), |
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c index 31a7d3a7ce25..43bbe1bda939 100644 --- a/arch/powerpc/platforms/powermac/pci.c +++ b/arch/powerpc/platforms/powermac/pci.c | |||
@@ -1059,9 +1059,6 @@ void __init pmac_pci_init(void) | |||
1059 | } | 1059 | } |
1060 | /* pmac_check_ht_link(); */ | 1060 | /* pmac_check_ht_link(); */ |
1061 | 1061 | ||
1062 | /* We can allocate missing resources if any */ | ||
1063 | pci_probe_only = 0; | ||
1064 | |||
1065 | #else /* CONFIG_PPC64 */ | 1062 | #else /* CONFIG_PPC64 */ |
1066 | init_p2pbridge(); | 1063 | init_p2pbridge(); |
1067 | init_second_ohare(); | 1064 | init_second_ohare(); |
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c index a70bc1e385eb..a053f4fe5db8 100644 --- a/arch/powerpc/platforms/powernv/pci.c +++ b/arch/powerpc/platforms/powernv/pci.c | |||
@@ -557,9 +557,6 @@ void __init pnv_pci_init(void) | |||
557 | 557 | ||
558 | pci_set_flags(PCI_CAN_SKIP_ISA_ALIGN); | 558 | pci_set_flags(PCI_CAN_SKIP_ISA_ALIGN); |
559 | 559 | ||
560 | /* We do not want to just probe */ | ||
561 | pci_probe_only = 0; | ||
562 | |||
563 | /* OPAL absent, try POPAL first then RTAS detection of PHBs */ | 560 | /* OPAL absent, try POPAL first then RTAS detection of PHBs */ |
564 | if (!firmware_has_feature(FW_FEATURE_OPAL)) { | 561 | if (!firmware_has_feature(FW_FEATURE_OPAL)) { |
565 | #ifdef CONFIG_PPC_POWERNV_RTAS | 562 | #ifdef CONFIG_PPC_POWERNV_RTAS |
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index f79f1278dfca..386e2656c231 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -380,6 +380,9 @@ static void __init pSeries_setup_arch(void) | |||
380 | 380 | ||
381 | fwnmi_init(); | 381 | fwnmi_init(); |
382 | 382 | ||
383 | /* By default, only probe PCI (can be overriden by rtas_pci */ | ||
384 | pci_probe_only = 1; | ||
385 | |||
383 | /* Find and initialize PCI host bridges */ | 386 | /* Find and initialize PCI host bridges */ |
384 | init_pci_config_tokens(); | 387 | init_pci_config_tokens(); |
385 | find_and_init_phbs(); | 388 | find_and_init_phbs(); |
diff --git a/arch/powerpc/platforms/wsp/wsp_pci.c b/arch/powerpc/platforms/wsp/wsp_pci.c index e0262cd0e2d3..299157afb517 100644 --- a/arch/powerpc/platforms/wsp/wsp_pci.c +++ b/arch/powerpc/platforms/wsp/wsp_pci.c | |||
@@ -682,7 +682,6 @@ static int __init wsp_setup_one_phb(struct device_node *np) | |||
682 | /* XXX Force re-assigning of everything for now */ | 682 | /* XXX Force re-assigning of everything for now */ |
683 | pci_add_flags(PCI_REASSIGN_ALL_BUS | PCI_REASSIGN_ALL_RSRC | | 683 | pci_add_flags(PCI_REASSIGN_ALL_BUS | PCI_REASSIGN_ALL_RSRC | |
684 | PCI_ENABLE_PROC_DOMAINS); | 684 | PCI_ENABLE_PROC_DOMAINS); |
685 | pci_probe_only = 0; | ||
686 | 685 | ||
687 | /* Calculate how the TCE space is divided */ | 686 | /* Calculate how the TCE space is divided */ |
688 | phb->dma32_base = 0; | 687 | phb->dma32_base = 0; |