aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2007-12-09 22:33:21 -0500
committerPaul Mackerras <paulus@samba.org>2007-12-10 21:42:37 -0500
commit44ef339073f67d4abcc62ae52a5fbc069d7a4d29 (patch)
treef7d8dab47b9822bbd22a399f24a3e24d10f96621 /arch/powerpc/kernel
parent6207e81695c1a64ebed668f26106f3384ad2323a (diff)
[POWERPC] pci_controller->arch_data really is a struct device_node *
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/isa-bridge.c2
-rw-r--r--arch/powerpc/kernel/pci-common.c4
-rw-r--r--arch/powerpc/kernel/pci_32.c10
-rw-r--r--arch/powerpc/kernel/pci_64.c8
-rw-r--r--arch/powerpc/kernel/pci_dn.c2
-rw-r--r--arch/powerpc/kernel/prom_parse.c2
-rw-r--r--arch/powerpc/kernel/rtas_pci.c2
7 files changed, 14 insertions, 16 deletions
diff --git a/arch/powerpc/kernel/isa-bridge.c b/arch/powerpc/kernel/isa-bridge.c
index 965bfcc9ad2d..ee172aa42aa7 100644
--- a/arch/powerpc/kernel/isa-bridge.c
+++ b/arch/powerpc/kernel/isa-bridge.c
@@ -145,7 +145,7 @@ void __init isa_bridge_find_early(struct pci_controller *hose)
145 for_each_node_by_type(np, "isa") { 145 for_each_node_by_type(np, "isa") {
146 /* Look for our hose being a parent */ 146 /* Look for our hose being a parent */
147 for (parent = of_get_parent(np); parent;) { 147 for (parent = of_get_parent(np); parent;) {
148 if (parent == hose->arch_data) { 148 if (parent == hose->dn) {
149 of_node_put(parent); 149 of_node_put(parent);
150 break; 150 break;
151 } 151 }
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 5a9d4c7bfec5..2f3f30efffed 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -62,7 +62,7 @@ struct pci_controller *pcibios_alloc_controller(struct device_node *dev)
62 phb->global_number = global_phb_number++; 62 phb->global_number = global_phb_number++;
63 list_add_tail(&phb->list_node, &hose_list); 63 list_add_tail(&phb->list_node, &hose_list);
64 spin_unlock(&hose_spinlock); 64 spin_unlock(&hose_spinlock);
65 phb->arch_data = dev; 65 phb->dn = dev;
66 phb->is_dynamic = mem_init_done; 66 phb->is_dynamic = mem_init_done;
67#ifdef CONFIG_PPC64 67#ifdef CONFIG_PPC64
68 if (dev) { 68 if (dev) {
@@ -137,7 +137,7 @@ struct pci_controller* pci_find_hose_for_OF_device(struct device_node* node)
137 while(node) { 137 while(node) {
138 struct pci_controller *hose, *tmp; 138 struct pci_controller *hose, *tmp;
139 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) 139 list_for_each_entry_safe(hose, tmp, &hose_list, list_node)
140 if (hose->arch_data == node) 140 if (hose->dn == node)
141 return hose; 141 return hose;
142 node = node->parent; 142 node = node->parent;
143 } 143 }
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 0e2bee46304c..096c97e03aa6 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -662,8 +662,8 @@ pcibios_make_OF_bus_map(void)
662 662
663 /* For each hose, we begin searching bridges */ 663 /* For each hose, we begin searching bridges */
664 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { 664 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
665 struct device_node* node; 665 struct device_node* node = hose->dn;
666 node = (struct device_node *)hose->arch_data; 666
667 if (!node) 667 if (!node)
668 continue; 668 continue;
669 make_one_node_map(node, hose->first_busno); 669 make_one_node_map(node, hose->first_busno);
@@ -742,7 +742,7 @@ static struct device_node *scan_OF_for_pci_bus(struct pci_bus *bus)
742 struct pci_controller *hose = pci_bus_to_host(bus); 742 struct pci_controller *hose = pci_bus_to_host(bus);
743 if (hose == NULL) 743 if (hose == NULL)
744 return NULL; 744 return NULL;
745 return of_node_get(hose->arch_data); 745 return of_node_get(hose->dn);
746 } 746 }
747 747
748 /* not a root bus, we need to get our parent */ 748 /* not a root bus, we need to get our parent */
@@ -812,9 +812,9 @@ pci_device_from_OF_node(struct device_node* node, u8* bus, u8* devfn)
812 return -ENODEV; 812 return -ENODEV;
813 /* Make sure it's really a PCI device */ 813 /* Make sure it's really a PCI device */
814 hose = pci_find_hose_for_OF_device(node); 814 hose = pci_find_hose_for_OF_device(node);
815 if (!hose || !hose->arch_data) 815 if (!hose || !hose->dn)
816 return -ENODEV; 816 return -ENODEV;
817 if (!scan_OF_pci_childs(((struct device_node*)hose->arch_data)->child, 817 if (!scan_OF_pci_childs(hose->dn->child,
818 find_OF_pci_device_filter, (void *)node)) 818 find_OF_pci_device_filter, (void *)node))
819 return -ENODEV; 819 return -ENODEV;
820 reg = of_get_property(node, "reg", NULL); 820 reg = of_get_property(node, "reg", NULL);
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 002cd4cac0f3..6b9a8564e735 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -458,7 +458,7 @@ EXPORT_SYMBOL(of_scan_pci_bridge);
458void __devinit scan_phb(struct pci_controller *hose) 458void __devinit scan_phb(struct pci_controller *hose)
459{ 459{
460 struct pci_bus *bus; 460 struct pci_bus *bus;
461 struct device_node *node = hose->arch_data; 461 struct device_node *node = hose->dn;
462 int i, mode; 462 int i, mode;
463 struct resource *res; 463 struct resource *res;
464 464
@@ -705,8 +705,7 @@ int pcibios_unmap_io_space(struct pci_bus *bus)
705 if (hose->io_base_alloc == 0) 705 if (hose->io_base_alloc == 0)
706 return 0; 706 return 0;
707 707
708 DBG("IO unmapping for PHB %s\n", 708 DBG("IO unmapping for PHB %s\n", hose->dn->full_name);
709 ((struct device_node *)hose->arch_data)->full_name);
710 DBG(" alloc=0x%p\n", hose->io_base_alloc); 709 DBG(" alloc=0x%p\n", hose->io_base_alloc);
711 710
712 /* This is a PHB, we fully unmap the IO area */ 711 /* This is a PHB, we fully unmap the IO area */
@@ -765,8 +764,7 @@ int __devinit pcibios_map_io_space(struct pci_bus *bus)
765 hose->io_base_virt = (void __iomem *)(area->addr + 764 hose->io_base_virt = (void __iomem *)(area->addr +
766 hose->io_base_phys - phys_page); 765 hose->io_base_phys - phys_page);
767 766
768 DBG("IO mapping for PHB %s\n", 767 DBG("IO mapping for PHB %s\n", hose->dn->full_name);
769 ((struct device_node *)hose->arch_data)->full_name);
770 DBG(" phys=0x%016lx, virt=0x%p (alloc=0x%p)\n", 768 DBG(" phys=0x%016lx, virt=0x%p (alloc=0x%p)\n",
771 hose->io_base_phys, hose->io_base_virt, hose->io_base_alloc); 769 hose->io_base_phys, hose->io_base_virt, hose->io_base_alloc);
772 DBG(" size=0x%016lx (alloc=0x%016lx)\n", 770 DBG(" size=0x%016lx (alloc=0x%016lx)\n",
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index b4839038613d..85d4d8924b5c 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -133,7 +133,7 @@ void *traverse_pci_devices(struct device_node *start, traverse_func pre,
133 */ 133 */
134void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb) 134void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb)
135{ 135{
136 struct device_node * dn = (struct device_node *) phb->arch_data; 136 struct device_node *dn = phb->dn;
137 struct pci_dn *pdn; 137 struct pci_dn *pdn;
138 138
139 /* PHB nodes themselves must not match */ 139 /* PHB nodes themselves must not match */
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c
index b5c96af955c6..6bdfaf3f99ea 100644
--- a/arch/powerpc/kernel/prom_parse.c
+++ b/arch/powerpc/kernel/prom_parse.c
@@ -273,7 +273,7 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq)
273#else 273#else
274 struct pci_controller *host; 274 struct pci_controller *host;
275 host = pci_bus_to_host(pdev->bus); 275 host = pci_bus_to_host(pdev->bus);
276 ppnode = host ? host->arch_data : NULL; 276 ppnode = host ? host->dn : NULL;
277#endif 277#endif
278 /* No node for host bridge ? give up */ 278 /* No node for host bridge ? give up */
279 if (ppnode == NULL) 279 if (ppnode == NULL)
diff --git a/arch/powerpc/kernel/rtas_pci.c b/arch/powerpc/kernel/rtas_pci.c
index 21f14e57d1f3..3650eb50c27d 100644
--- a/arch/powerpc/kernel/rtas_pci.c
+++ b/arch/powerpc/kernel/rtas_pci.c
@@ -260,7 +260,7 @@ static int phb_set_bus_ranges(struct device_node *dev,
260 260
261int __devinit rtas_setup_phb(struct pci_controller *phb) 261int __devinit rtas_setup_phb(struct pci_controller *phb)
262{ 262{
263 struct device_node *dev = phb->arch_data; 263 struct device_node *dev = phb->dn;
264 264
265 if (is_python(dev)) 265 if (is_python(dev))
266 python_countermeasures(dev); 266 python_countermeasures(dev);