Commit 1910e021 authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Fix missing devices due to PCI bridge test in of_create_pci_dev().
  sparc64: Fix disappearing PCI devices on e3500.
parents 74c7a09a 44b50e5a
...@@ -169,7 +169,7 @@ static unsigned long of_bus_default_get_flags(const u32 *addr, unsigned long fla ...@@ -169,7 +169,7 @@ static unsigned long of_bus_default_get_flags(const u32 *addr, unsigned long fla
static int of_bus_pci_match(struct device_node *np) static int of_bus_pci_match(struct device_node *np)
{ {
if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) { if (!strcmp(np->name, "pci")) {
const char *model = of_get_property(np, "model", NULL); const char *model = of_get_property(np, "model", NULL);
if (model && !strcmp(model, "SUNW,simba")) if (model && !strcmp(model, "SUNW,simba"))
...@@ -200,7 +200,7 @@ static int of_bus_simba_match(struct device_node *np) ...@@ -200,7 +200,7 @@ static int of_bus_simba_match(struct device_node *np)
/* Treat PCI busses lacking ranges property just like /* Treat PCI busses lacking ranges property just like
* simba. * simba.
*/ */
if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) { if (!strcmp(np->name, "pci")) {
if (!of_find_property(np, "ranges", NULL)) if (!of_find_property(np, "ranges", NULL))
return 1; return 1;
} }
...@@ -429,7 +429,7 @@ static int __init use_1to1_mapping(struct device_node *pp) ...@@ -429,7 +429,7 @@ static int __init use_1to1_mapping(struct device_node *pp)
* it lacks a ranges property, and this will include * it lacks a ranges property, and this will include
* cases like Simba. * cases like Simba.
*/ */
if (!strcmp(pp->type, "pci") || !strcmp(pp->type, "pciex")) if (!strcmp(pp->name, "pci"))
return 0; return 0;
return 1; return 1;
...@@ -714,8 +714,7 @@ static unsigned int __init build_one_device_irq(struct of_device *op, ...@@ -714,8 +714,7 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
break; break;
} }
} else { } else {
if (!strcmp(pp->type, "pci") || if (!strcmp(pp->name, "pci")) {
!strcmp(pp->type, "pciex")) {
unsigned int this_orig_irq = irq; unsigned int this_orig_irq = irq;
irq = pci_irq_swizzle(dp, pp, irq); irq = pci_irq_swizzle(dp, pp, irq);
......
...@@ -425,7 +425,7 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm, ...@@ -425,7 +425,7 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
dev->current_state = 4; /* unknown power state */ dev->current_state = 4; /* unknown power state */
dev->error_state = pci_channel_io_normal; dev->error_state = pci_channel_io_normal;
if (!strcmp(type, "pci") || !strcmp(type, "pciex")) { if (!strcmp(node->name, "pci")) {
/* a PCI-PCI bridge */ /* a PCI-PCI bridge */
dev->hdr_type = PCI_HEADER_TYPE_BRIDGE; dev->hdr_type = PCI_HEADER_TYPE_BRIDGE;
dev->rom_base_reg = PCI_ROM_ADDRESS1; dev->rom_base_reg = PCI_ROM_ADDRESS1;
......
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