diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-02-23 22:18:56 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-02-23 22:18:56 -0500 |
commit | 151d16d531c5bc60bad9dc62102be18f11b4280a (patch) | |
tree | 12c678faac055726ce9c6209b939de44c3b88375 /arch/alpha/kernel | |
parent | dcce6dc486816d5e1a14e066f611100624421e3a (diff) |
alpha/PCI: replace pci_probe_only with pci_flags
Some architectures (alpha, mips, powerpc) have an arch-specific
"pci_probe_only" flag. Others use PCI_PROBE_ONLY in pci_flags for
the same purpose. This moves alpha to the pci_flags approach so
generic code can use the same test across all architectures.
CC: linux-alpha@vger.kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch/alpha/kernel')
-rw-r--r-- | arch/alpha/kernel/pci.c | 15 | ||||
-rw-r--r-- | arch/alpha/kernel/pci_impl.h | 3 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_marvel.c | 3 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_titan.c | 3 |
4 files changed, 11 insertions, 13 deletions
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c index 8c723c1b086a..3a5cdf2a8fd0 100644 --- a/arch/alpha/kernel/pci.c +++ b/arch/alpha/kernel/pci.c | |||
@@ -43,12 +43,10 @@ const char *const pci_mem_names[] = { | |||
43 | 43 | ||
44 | const char pci_hae0_name[] = "HAE0"; | 44 | const char pci_hae0_name[] = "HAE0"; |
45 | 45 | ||
46 | /* Indicate whether we respect the PCI setup left by console. */ | ||
47 | /* | 46 | /* |
48 | * Make this long-lived so that we know when shutting down | 47 | * If PCI_PROBE_ONLY in pci_flags is set, we don't change any PCI resource |
49 | * whether we probed only or not. | 48 | * assignments. |
50 | */ | 49 | */ |
51 | int pci_probe_only; | ||
52 | 50 | ||
53 | /* | 51 | /* |
54 | * The PCI controller list. | 52 | * The PCI controller list. |
@@ -215,7 +213,7 @@ pdev_save_srm_config(struct pci_dev *dev) | |||
215 | struct pdev_srm_saved_conf *tmp; | 213 | struct pdev_srm_saved_conf *tmp; |
216 | static int printed = 0; | 214 | static int printed = 0; |
217 | 215 | ||
218 | if (!alpha_using_srm || pci_probe_only) | 216 | if (!alpha_using_srm || pci_has_flag(PCI_PROBE_ONLY)) |
219 | return; | 217 | return; |
220 | 218 | ||
221 | if (!printed) { | 219 | if (!printed) { |
@@ -242,7 +240,7 @@ pci_restore_srm_config(void) | |||
242 | struct pdev_srm_saved_conf *tmp; | 240 | struct pdev_srm_saved_conf *tmp; |
243 | 241 | ||
244 | /* No need to restore if probed only. */ | 242 | /* No need to restore if probed only. */ |
245 | if (pci_probe_only) | 243 | if (pci_has_flag(PCI_PROBE_ONLY)) |
246 | return; | 244 | return; |
247 | 245 | ||
248 | /* Restore SRM config. */ | 246 | /* Restore SRM config. */ |
@@ -283,7 +281,7 @@ pcibios_fixup_bus(struct pci_bus *bus) | |||
283 | { | 281 | { |
284 | struct pci_dev *dev = bus->self; | 282 | struct pci_dev *dev = bus->self; |
285 | 283 | ||
286 | if (pci_probe_only && dev && | 284 | if (pci_has_flag(PCI_PROBE_ONLY) && dev && |
287 | (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) { | 285 | (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) { |
288 | pci_read_bridge_bases(bus); | 286 | pci_read_bridge_bases(bus); |
289 | pcibios_fixup_device_resources(dev, bus); | 287 | pcibios_fixup_device_resources(dev, bus); |
@@ -374,7 +372,8 @@ pcibios_claim_one_bus(struct pci_bus *b) | |||
374 | 372 | ||
375 | if (r->parent || !r->start || !r->flags) | 373 | if (r->parent || !r->start || !r->flags) |
376 | continue; | 374 | continue; |
377 | if (pci_probe_only || (r->flags & IORESOURCE_PCI_FIXED)) | 375 | if (pci_has_flag(PCI_PROBE_ONLY) || |
376 | (r->flags & IORESOURCE_PCI_FIXED)) | ||
378 | pci_claim_resource(dev, i); | 377 | pci_claim_resource(dev, i); |
379 | } | 378 | } |
380 | } | 379 | } |
diff --git a/arch/alpha/kernel/pci_impl.h b/arch/alpha/kernel/pci_impl.h index 85457b2d4516..2b0ac429f5eb 100644 --- a/arch/alpha/kernel/pci_impl.h +++ b/arch/alpha/kernel/pci_impl.h | |||
@@ -173,9 +173,6 @@ extern void pci_restore_srm_config(void); | |||
173 | extern struct pci_controller *hose_head, **hose_tail; | 173 | extern struct pci_controller *hose_head, **hose_tail; |
174 | extern struct pci_controller *pci_isa_hose; | 174 | extern struct pci_controller *pci_isa_hose; |
175 | 175 | ||
176 | /* Indicate that we trust the console to configure things properly. */ | ||
177 | extern int pci_probe_only; | ||
178 | |||
179 | extern unsigned long alpha_agpgart_size; | 176 | extern unsigned long alpha_agpgart_size; |
180 | 177 | ||
181 | extern void common_init_pci(void); | 178 | extern void common_init_pci(void); |
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c index 95cfc83ece8f..fc8b12508611 100644 --- a/arch/alpha/kernel/sys_marvel.c +++ b/arch/alpha/kernel/sys_marvel.c | |||
@@ -384,7 +384,8 @@ marvel_init_pci(void) | |||
384 | 384 | ||
385 | marvel_register_error_handlers(); | 385 | marvel_register_error_handlers(); |
386 | 386 | ||
387 | pci_probe_only = 1; | 387 | /* Indicate that we trust the console to configure things properly */ |
388 | pci_set_flags(PCI_PROBE_ONLY); | ||
388 | common_init_pci(); | 389 | common_init_pci(); |
389 | locate_and_init_vga(NULL); | 390 | locate_and_init_vga(NULL); |
390 | 391 | ||
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index f47b30a2a117..b8eafa053539 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c | |||
@@ -331,7 +331,8 @@ titan_init_pci(void) | |||
331 | */ | 331 | */ |
332 | titan_late_init(); | 332 | titan_late_init(); |
333 | 333 | ||
334 | pci_probe_only = 1; | 334 | /* Indicate that we trust the console to configure things properly */ |
335 | pci_set_flags(PCI_PROBE_ONLY); | ||
335 | common_init_pci(); | 336 | common_init_pci(); |
336 | SMC669_Init(0); | 337 | SMC669_Init(0); |
337 | locate_and_init_vga(NULL); | 338 | locate_and_init_vga(NULL); |