Commit 673c9756 authored by Bjorn Helgaas's avatar Bjorn Helgaas

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: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 3c13be01
...@@ -45,8 +45,6 @@ extern void init_pci_config_tokens (void); ...@@ -45,8 +45,6 @@ extern void init_pci_config_tokens (void);
extern unsigned long get_phb_buid (struct device_node *); extern unsigned long get_phb_buid (struct device_node *);
extern int rtas_setup_phb(struct pci_controller *phb); extern int rtas_setup_phb(struct pci_controller *phb);
extern unsigned long pci_probe_only;
/* ---- EEH internal-use-only related routines ---- */ /* ---- EEH internal-use-only related routines ---- */
#ifdef CONFIG_EEH #ifdef CONFIG_EEH
......
...@@ -50,9 +50,6 @@ static int global_phb_number; /* Global phb counter */ ...@@ -50,9 +50,6 @@ static int global_phb_number; /* Global phb counter */
/* ISA Memory physical address */ /* ISA Memory physical address */
resource_size_t isa_mem_base; resource_size_t isa_mem_base;
/* Default PCI flags is 0 on ppc32, modified at boot on ppc64 */
unsigned int pci_flags = 0;
static struct dma_map_ops *pci_dma_ops = &dma_direct_ops; static struct dma_map_ops *pci_dma_ops = &dma_direct_ops;
......
...@@ -33,8 +33,6 @@ ...@@ -33,8 +33,6 @@
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/ppc-pci.h> #include <asm/ppc-pci.h>
unsigned long pci_probe_only = 0;
/* pci_io_base -- the base address from which io bars are offsets. /* pci_io_base -- the base address from which io bars are offsets.
* This is the lowest I/O base address (so bar values are always positive), * This is the lowest I/O base address (so bar values are always positive),
* and it *must* be the start of ISA space if an ISA bus exists because * 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,9 +53,6 @@ static int __init pcibios_init(void)
*/ */
ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot; ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot;
if (pci_probe_only)
pci_add_flags(PCI_PROBE_ONLY);
/* On ppc64, we always enable PCI domains and we keep domain 0 /* On ppc64, we always enable PCI domains and we keep domain 0
* backward compatible in /proc for video cards * backward compatible in /proc for video cards
*/ */
......
...@@ -276,7 +276,7 @@ void __init find_and_init_phbs(void) ...@@ -276,7 +276,7 @@ void __init find_and_init_phbs(void)
pci_devs_phb_init(); pci_devs_phb_init();
/* /*
* pci_probe_only and pci_assign_all_buses can be set via properties * PCI_PROBE_ONLY and PCI_REASSIGN_ALL_BUS can be set via properties
* in chosen. * in chosen.
*/ */
if (of_chosen) { if (of_chosen) {
...@@ -284,8 +284,12 @@ void __init find_and_init_phbs(void) ...@@ -284,8 +284,12 @@ void __init find_and_init_phbs(void)
prop = of_get_property(of_chosen, prop = of_get_property(of_chosen,
"linux,pci-probe-only", NULL); "linux,pci-probe-only", NULL);
if (prop) if (prop) {
pci_probe_only = *prop; if (*prop)
pci_add_flags(PCI_PROBE_ONLY);
else
pci_clear_flags(PCI_PROBE_ONLY);
}
#ifdef CONFIG_PPC32 /* Will be made generic soon */ #ifdef CONFIG_PPC32 /* Will be made generic soon */
prop = of_get_property(of_chosen, prop = of_get_property(of_chosen,
......
...@@ -868,7 +868,7 @@ void __init iSeries_pcibios_init(void) ...@@ -868,7 +868,7 @@ void __init iSeries_pcibios_init(void)
/* Install IO hooks */ /* Install IO hooks */
ppc_pci_io = iseries_pci_io; ppc_pci_io = iseries_pci_io;
pci_probe_only = 1; pci_add_flags(PCI_PROBE_ONLY);
/* iSeries has no IO space in the common sense, it needs to set /* iSeries has no IO space in the common sense, it needs to set
* the IO base to 0 * the IO base to 0
......
...@@ -620,7 +620,7 @@ void __init maple_pci_init(void) ...@@ -620,7 +620,7 @@ void __init maple_pci_init(void)
} }
/* Tell pci.c to not change any resource allocations. */ /* Tell pci.c to not change any resource allocations. */
pci_probe_only = 1; pci_add_flags(PCI_PROBE_ONLY);
} }
int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel)
......
...@@ -231,7 +231,7 @@ void __init pas_pci_init(void) ...@@ -231,7 +231,7 @@ void __init pas_pci_init(void)
pci_devs_phb_init(); pci_devs_phb_init();
/* Use the common resource allocation mechanism */ /* Use the common resource allocation mechanism */
pci_probe_only = 1; pci_add_flags(PCI_PROBE_ONLY);
} }
void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset) void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset)
......
...@@ -1299,15 +1299,14 @@ void __init pnv_pci_init_ioda1_phb(struct device_node *np) ...@@ -1299,15 +1299,14 @@ void __init pnv_pci_init_ioda1_phb(struct device_node *np)
/* Setup MSI support */ /* Setup MSI support */
pnv_pci_init_ioda_msis(phb); pnv_pci_init_ioda_msis(phb);
/* We set both probe_only and PCI_REASSIGN_ALL_RSRC. This is an /* We set both PCI_PROBE_ONLY and PCI_REASSIGN_ALL_RSRC. This is an
* odd combination which essentially means that we skip all resource * odd combination which essentially means that we skip all resource
* fixups and assignments in the generic code, and do it all * fixups and assignments in the generic code, and do it all
* ourselves here * ourselves here
*/ */
pci_probe_only = 1;
ppc_md.pcibios_fixup_phb = pnv_pci_ioda_fixup_phb; ppc_md.pcibios_fixup_phb = pnv_pci_ioda_fixup_phb;
ppc_md.pcibios_enable_device_hook = pnv_pci_enable_device_hook; ppc_md.pcibios_enable_device_hook = pnv_pci_enable_device_hook;
pci_add_flags(PCI_REASSIGN_ALL_RSRC); pci_add_flags(PCI_PROBE_ONLY | PCI_REASSIGN_ALL_RSRC);
/* Reset IODA tables to a clean state */ /* Reset IODA tables to a clean state */
rc = opal_pci_reset(phb_id, OPAL_PCI_IODA_TABLE_RESET, OPAL_ASSERT_RESET); rc = opal_pci_reset(phb_id, OPAL_PCI_IODA_TABLE_RESET, OPAL_ASSERT_RESET);
......
...@@ -555,7 +555,7 @@ void __init pnv_pci_init(void) ...@@ -555,7 +555,7 @@ void __init pnv_pci_init(void)
{ {
struct device_node *np; struct device_node *np;
pci_set_flags(PCI_CAN_SKIP_ISA_ALIGN); pci_add_flags(PCI_CAN_SKIP_ISA_ALIGN);
/* OPAL absent, try POPAL first then RTAS detection of PHBs */ /* OPAL absent, try POPAL first then RTAS detection of PHBs */
if (!firmware_has_feature(FW_FEATURE_OPAL)) { if (!firmware_has_feature(FW_FEATURE_OPAL)) {
......
...@@ -380,8 +380,8 @@ static void __init pSeries_setup_arch(void) ...@@ -380,8 +380,8 @@ static void __init pSeries_setup_arch(void)
fwnmi_init(); fwnmi_init();
/* By default, only probe PCI (can be overriden by rtas_pci */ /* By default, only probe PCI (can be overriden by rtas_pci) */
pci_probe_only = 1; pci_add_flags(PCI_PROBE_ONLY);
/* Find and initialize PCI host bridges */ /* Find and initialize PCI host bridges */
init_pci_config_tokens(); init_pci_config_tokens();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment