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 | 673c975624895c4db2edff32601d9c6475b2d39e (patch) | |
tree | d446b54ea15a6706a0ea8fd4c3a856ccd0596da6 /arch | |
parent | 3c13be017abe041e495862d50dbd83093e09cd6a (diff) |
powerpc/PCI: replace pci_probe_only with pci_flags
We already use pci_flags, so this just sets pci_flags directly and removes
the intermediate step of figuring out pci_probe_only, then using it to set
pci_flags.
The PCI core provides a pci_flags definition (currently __weak), so drop
the powerpc definitions in favor of that.
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/include/asm/ppc-pci.h | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci-common.c | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci_64.c | 5 | ||||
-rw-r--r-- | arch/powerpc/kernel/rtas_pci.c | 10 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/pasemi/pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/powernv/pci-ioda.c | 5 | ||||
-rw-r--r-- | arch/powerpc/platforms/powernv/pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/setup.c | 4 |
10 files changed, 15 insertions, 22 deletions
diff --git a/arch/powerpc/include/asm/ppc-pci.h b/arch/powerpc/include/asm/ppc-pci.h index 43268f15004e..f4f7ad89c5a8 100644 --- a/arch/powerpc/include/asm/ppc-pci.h +++ b/arch/powerpc/include/asm/ppc-pci.h | |||
@@ -45,8 +45,6 @@ extern void init_pci_config_tokens (void); | |||
45 | extern unsigned long get_phb_buid (struct device_node *); | 45 | extern unsigned long get_phb_buid (struct device_node *); |
46 | extern int rtas_setup_phb(struct pci_controller *phb); | 46 | extern int rtas_setup_phb(struct pci_controller *phb); |
47 | 47 | ||
48 | extern unsigned long pci_probe_only; | ||
49 | |||
50 | /* ---- EEH internal-use-only related routines ---- */ | 48 | /* ---- EEH internal-use-only related routines ---- */ |
51 | #ifdef CONFIG_EEH | 49 | #ifdef CONFIG_EEH |
52 | 50 | ||
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index cce98d76e905..6d03da475572 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -50,9 +50,6 @@ static int global_phb_number; /* Global phb counter */ | |||
50 | /* ISA Memory physical address */ | 50 | /* ISA Memory physical address */ |
51 | resource_size_t isa_mem_base; | 51 | resource_size_t isa_mem_base; |
52 | 52 | ||
53 | /* Default PCI flags is 0 on ppc32, modified at boot on ppc64 */ | ||
54 | unsigned int pci_flags = 0; | ||
55 | |||
56 | 53 | ||
57 | static struct dma_map_ops *pci_dma_ops = &dma_direct_ops; | 54 | static struct dma_map_ops *pci_dma_ops = &dma_direct_ops; |
58 | 55 | ||
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index f627eb7be9e2..75417fdc773c 100644 --- a/arch/powerpc/kernel/pci_64.c +++ b/arch/powerpc/kernel/pci_64.c | |||
@@ -33,8 +33,6 @@ | |||
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 = 0; | ||
37 | |||
38 | /* pci_io_base -- the base address from which io bars are offsets. | 36 | /* 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), | 37 | * This is the lowest I/O base address (so bar values are always positive), |
40 | * and it *must* be the start of ISA space if an ISA bus exists because | 38 | * and it *must* be the start of ISA space if an ISA bus exists because |
@@ -55,9 +53,6 @@ static int __init pcibios_init(void) | |||
55 | */ | 53 | */ |
56 | ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot; | 54 | ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot; |
57 | 55 | ||
58 | if (pci_probe_only) | ||
59 | pci_add_flags(PCI_PROBE_ONLY); | ||
60 | |||
61 | /* On ppc64, we always enable PCI domains and we keep domain 0 | 56 | /* On ppc64, we always enable PCI domains and we keep domain 0 |
62 | * backward compatible in /proc for video cards | 57 | * backward compatible in /proc for video cards |
63 | */ | 58 | */ |
diff --git a/arch/powerpc/kernel/rtas_pci.c b/arch/powerpc/kernel/rtas_pci.c index 6cd8f0196b6d..140735c18c36 100644 --- a/arch/powerpc/kernel/rtas_pci.c +++ b/arch/powerpc/kernel/rtas_pci.c | |||
@@ -276,7 +276,7 @@ void __init find_and_init_phbs(void) | |||
276 | pci_devs_phb_init(); | 276 | pci_devs_phb_init(); |
277 | 277 | ||
278 | /* | 278 | /* |
279 | * pci_probe_only and pci_assign_all_buses can be set via properties | 279 | * PCI_PROBE_ONLY and PCI_REASSIGN_ALL_BUS can be set via properties |
280 | * in chosen. | 280 | * in chosen. |
281 | */ | 281 | */ |
282 | if (of_chosen) { | 282 | if (of_chosen) { |
@@ -284,8 +284,12 @@ void __init find_and_init_phbs(void) | |||
284 | 284 | ||
285 | prop = of_get_property(of_chosen, | 285 | prop = of_get_property(of_chosen, |
286 | "linux,pci-probe-only", NULL); | 286 | "linux,pci-probe-only", NULL); |
287 | if (prop) | 287 | if (prop) { |
288 | pci_probe_only = *prop; | 288 | if (*prop) |
289 | pci_add_flags(PCI_PROBE_ONLY); | ||
290 | else | ||
291 | pci_clear_flags(PCI_PROBE_ONLY); | ||
292 | } | ||
289 | 293 | ||
290 | #ifdef CONFIG_PPC32 /* Will be made generic soon */ | 294 | #ifdef CONFIG_PPC32 /* Will be made generic soon */ |
291 | prop = of_get_property(of_chosen, | 295 | prop = of_get_property(of_chosen, |
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c index c75412884625..171b2f30d6ad 100644 --- a/arch/powerpc/platforms/iseries/pci.c +++ b/arch/powerpc/platforms/iseries/pci.c | |||
@@ -868,7 +868,7 @@ void __init iSeries_pcibios_init(void) | |||
868 | /* Install IO hooks */ | 868 | /* Install IO hooks */ |
869 | ppc_pci_io = iseries_pci_io; | 869 | ppc_pci_io = iseries_pci_io; |
870 | 870 | ||
871 | pci_probe_only = 1; | 871 | pci_add_flags(PCI_PROBE_ONLY); |
872 | 872 | ||
873 | /* iSeries has no IO space in the common sense, it needs to set | 873 | /* iSeries has no IO space in the common sense, it needs to set |
874 | * the IO base to 0 | 874 | * the IO base to 0 |
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 401e3f3f74c8..465ee8f5c086 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -620,7 +620,7 @@ void __init maple_pci_init(void) | |||
620 | } | 620 | } |
621 | 621 | ||
622 | /* Tell pci.c to not change any resource allocations. */ | 622 | /* Tell pci.c to not change any resource allocations. */ |
623 | pci_probe_only = 1; | 623 | pci_add_flags(PCI_PROBE_ONLY); |
624 | } | 624 | } |
625 | 625 | ||
626 | int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) | 626 | int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) |
diff --git a/arch/powerpc/platforms/pasemi/pci.c b/arch/powerpc/platforms/pasemi/pci.c index b6a0ec45c695..b27d8861116b 100644 --- a/arch/powerpc/platforms/pasemi/pci.c +++ b/arch/powerpc/platforms/pasemi/pci.c | |||
@@ -231,7 +231,7 @@ void __init pas_pci_init(void) | |||
231 | pci_devs_phb_init(); | 231 | pci_devs_phb_init(); |
232 | 232 | ||
233 | /* Use the common resource allocation mechanism */ | 233 | /* Use the common resource allocation mechanism */ |
234 | pci_probe_only = 1; | 234 | pci_add_flags(PCI_PROBE_ONLY); |
235 | } | 235 | } |
236 | 236 | ||
237 | void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset) | 237 | void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset) |
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index 5e155dfc4320..fbdd74dac3ac 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c | |||
@@ -1299,15 +1299,14 @@ void __init pnv_pci_init_ioda1_phb(struct device_node *np) | |||
1299 | /* Setup MSI support */ | 1299 | /* Setup MSI support */ |
1300 | pnv_pci_init_ioda_msis(phb); | 1300 | pnv_pci_init_ioda_msis(phb); |
1301 | 1301 | ||
1302 | /* We set both probe_only and PCI_REASSIGN_ALL_RSRC. This is an | 1302 | /* We set both PCI_PROBE_ONLY and PCI_REASSIGN_ALL_RSRC. This is an |
1303 | * odd combination which essentially means that we skip all resource | 1303 | * odd combination which essentially means that we skip all resource |
1304 | * fixups and assignments in the generic code, and do it all | 1304 | * fixups and assignments in the generic code, and do it all |
1305 | * ourselves here | 1305 | * ourselves here |
1306 | */ | 1306 | */ |
1307 | pci_probe_only = 1; | ||
1308 | ppc_md.pcibios_fixup_phb = pnv_pci_ioda_fixup_phb; | 1307 | ppc_md.pcibios_fixup_phb = pnv_pci_ioda_fixup_phb; |
1309 | ppc_md.pcibios_enable_device_hook = pnv_pci_enable_device_hook; | 1308 | ppc_md.pcibios_enable_device_hook = pnv_pci_enable_device_hook; |
1310 | pci_add_flags(PCI_REASSIGN_ALL_RSRC); | 1309 | pci_add_flags(PCI_PROBE_ONLY | PCI_REASSIGN_ALL_RSRC); |
1311 | 1310 | ||
1312 | /* Reset IODA tables to a clean state */ | 1311 | /* Reset IODA tables to a clean state */ |
1313 | rc = opal_pci_reset(phb_id, OPAL_PCI_IODA_TABLE_RESET, OPAL_ASSERT_RESET); | 1312 | rc = opal_pci_reset(phb_id, OPAL_PCI_IODA_TABLE_RESET, OPAL_ASSERT_RESET); |
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c index a053f4fe5db8..69dca5a8ada8 100644 --- a/arch/powerpc/platforms/powernv/pci.c +++ b/arch/powerpc/platforms/powernv/pci.c | |||
@@ -555,7 +555,7 @@ void __init pnv_pci_init(void) | |||
555 | { | 555 | { |
556 | struct device_node *np; | 556 | struct device_node *np; |
557 | 557 | ||
558 | pci_set_flags(PCI_CAN_SKIP_ISA_ALIGN); | 558 | pci_add_flags(PCI_CAN_SKIP_ISA_ALIGN); |
559 | 559 | ||
560 | /* OPAL absent, try POPAL first then RTAS detection of PHBs */ | 560 | /* OPAL absent, try POPAL first then RTAS detection of PHBs */ |
561 | if (!firmware_has_feature(FW_FEATURE_OPAL)) { | 561 | if (!firmware_has_feature(FW_FEATURE_OPAL)) { |
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index 386e2656c231..fc2a6f60f665 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -380,8 +380,8 @@ 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 */ | 383 | /* By default, only probe PCI (can be overriden by rtas_pci) */ |
384 | pci_probe_only = 1; | 384 | pci_add_flags(PCI_PROBE_ONLY); |
385 | 385 | ||
386 | /* Find and initialize PCI host bridges */ | 386 | /* Find and initialize PCI host bridges */ |
387 | init_pci_config_tokens(); | 387 | init_pci_config_tokens(); |