diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-12-09 22:33:21 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-12-10 21:42:37 -0500 |
commit | 44ef339073f67d4abcc62ae52a5fbc069d7a4d29 (patch) | |
tree | f7d8dab47b9822bbd22a399f24a3e24d10f96621 | |
parent | 6207e81695c1a64ebed668f26106f3384ad2323a (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>
-rw-r--r-- | arch/powerpc/kernel/isa-bridge.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci-common.c | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci_32.c | 10 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci_64.c | 8 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci_dn.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/prom_parse.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/rtas_pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/82xx/pq2.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/mpc85xx_ds.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/io-workarounds.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/celleb/io-workarounds.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/celleb/pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/pci.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/iommu.c | 2 | ||||
-rw-r--r-- | include/asm-powerpc/pci-bridge.h | 5 |
18 files changed, 31 insertions, 32 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); | |||
458 | void __devinit scan_phb(struct pci_controller *hose) | 458 | void __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 | */ |
134 | void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb) | 134 | void __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 | ||
261 | int __devinit rtas_setup_phb(struct pci_controller *phb) | 261 | int __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); |
diff --git a/arch/powerpc/platforms/82xx/pq2.c b/arch/powerpc/platforms/82xx/pq2.c index a497cbaa1ac5..11d1db8bb091 100644 --- a/arch/powerpc/platforms/82xx/pq2.c +++ b/arch/powerpc/platforms/82xx/pq2.c | |||
@@ -59,7 +59,7 @@ static void __init pq2_pci_add_bridge(struct device_node *np) | |||
59 | if (!hose) | 59 | if (!hose) |
60 | return; | 60 | return; |
61 | 61 | ||
62 | hose->arch_data = np; | 62 | hose->dn = np; |
63 | 63 | ||
64 | setup_indirect_pci(hose, r.start + 0x100, r.start + 0x104, 0); | 64 | setup_indirect_pci(hose, r.start + 0x100, r.start + 0x104, 0); |
65 | pci_process_bridge_OF_ranges(hose, np, 1); | 65 | pci_process_bridge_OF_ranges(hose, np, 1); |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c index 59c121a97ac7..bdb3d0b38cd2 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c | |||
@@ -123,7 +123,7 @@ static int mpc85xx_exclude_device(struct pci_controller *hose, | |||
123 | struct device_node* node; | 123 | struct device_node* node; |
124 | struct resource rsrc; | 124 | struct resource rsrc; |
125 | 125 | ||
126 | node = (struct device_node *)hose->arch_data; | 126 | node = hose->dn; |
127 | of_address_to_resource(node, 0, &rsrc); | 127 | of_address_to_resource(node, 0, &rsrc); |
128 | 128 | ||
129 | if ((rsrc.start & 0xfffff) == primary_phb_addr) { | 129 | if ((rsrc.start & 0xfffff) == primary_phb_addr) { |
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c index 6390895e5e92..c6d2f48f8f3d 100644 --- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c +++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c | |||
@@ -124,7 +124,7 @@ static void __devinit quirk_uli5229(struct pci_dev *dev) | |||
124 | static void __devinit final_uli5288(struct pci_dev *dev) | 124 | static void __devinit final_uli5288(struct pci_dev *dev) |
125 | { | 125 | { |
126 | struct pci_controller *hose = pci_bus_to_host(dev->bus); | 126 | struct pci_controller *hose = pci_bus_to_host(dev->bus); |
127 | struct device_node *hosenode = hose ? hose->arch_data : NULL; | 127 | struct device_node *hosenode = hose ? hose->dn : NULL; |
128 | struct of_irq oirq; | 128 | struct of_irq oirq; |
129 | int virq, pin = 2; | 129 | int virq, pin = 2; |
130 | u32 laddr[3]; | 130 | u32 laddr[3]; |
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c index 32a531aebcb7..14f4e527e7ac 100644 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | |||
@@ -116,7 +116,7 @@ static int mpc86xx_exclude_device(struct pci_controller *hose, | |||
116 | struct device_node* node; | 116 | struct device_node* node; |
117 | struct resource rsrc; | 117 | struct resource rsrc; |
118 | 118 | ||
119 | node = (struct device_node *)hose->arch_data; | 119 | node = hose->dn; |
120 | of_address_to_resource(node, 0, &rsrc); | 120 | of_address_to_resource(node, 0, &rsrc); |
121 | 121 | ||
122 | if ((rsrc.start & 0xfffff) == 0x8000) { | 122 | if ((rsrc.start & 0xfffff) == 0x8000) { |
diff --git a/arch/powerpc/platforms/cell/io-workarounds.c b/arch/powerpc/platforms/cell/io-workarounds.c index 9d7c2ef940a8..b86076e3c09e 100644 --- a/arch/powerpc/platforms/cell/io-workarounds.c +++ b/arch/powerpc/platforms/cell/io-workarounds.c | |||
@@ -238,7 +238,7 @@ static void __init spider_pci_setup_chip(struct spider_pci_bus *bus) | |||
238 | static void __init spider_pci_add_one(struct pci_controller *phb) | 238 | static void __init spider_pci_add_one(struct pci_controller *phb) |
239 | { | 239 | { |
240 | struct spider_pci_bus *bus = &spider_pci_busses[spider_pci_count]; | 240 | struct spider_pci_bus *bus = &spider_pci_busses[spider_pci_count]; |
241 | struct device_node *np = phb->arch_data; | 241 | struct device_node *np = phb->dn; |
242 | struct resource rsrc; | 242 | struct resource rsrc; |
243 | void __iomem *regs; | 243 | void __iomem *regs; |
244 | 244 | ||
@@ -317,7 +317,7 @@ static int __init spider_pci_workaround_init(void) | |||
317 | * update this code to cope with dynamically added busses | 317 | * update this code to cope with dynamically added busses |
318 | */ | 318 | */ |
319 | list_for_each_entry(phb, &hose_list, list_node) { | 319 | list_for_each_entry(phb, &hose_list, list_node) { |
320 | struct device_node *np = phb->arch_data; | 320 | struct device_node *np = phb->dn; |
321 | const char *model = of_get_property(np, "model", NULL); | 321 | const char *model = of_get_property(np, "model", NULL); |
322 | 322 | ||
323 | /* If no model property or name isn't exactly "pci", skip */ | 323 | /* If no model property or name isn't exactly "pci", skip */ |
diff --git a/arch/powerpc/platforms/celleb/io-workarounds.c b/arch/powerpc/platforms/celleb/io-workarounds.c index 32b9cecfda15..b939c0e98af8 100644 --- a/arch/powerpc/platforms/celleb/io-workarounds.c +++ b/arch/powerpc/platforms/celleb/io-workarounds.c | |||
@@ -222,7 +222,7 @@ void __init celleb_pci_add_one(struct pci_controller *phb, | |||
222 | void (*dummy_read)(struct pci_controller *)) | 222 | void (*dummy_read)(struct pci_controller *)) |
223 | { | 223 | { |
224 | struct celleb_pci_bus *bus = &celleb_pci_busses[celleb_pci_count]; | 224 | struct celleb_pci_bus *bus = &celleb_pci_busses[celleb_pci_count]; |
225 | struct device_node *np = phb->arch_data; | 225 | struct device_node *np = phb->dn; |
226 | 226 | ||
227 | if (celleb_pci_count >= MAX_CELLEB_PCI_BUS) { | 227 | if (celleb_pci_count >= MAX_CELLEB_PCI_BUS) { |
228 | printk(KERN_ERR "Too many pci bridges, workarounds" | 228 | printk(KERN_ERR "Too many pci bridges, workarounds" |
@@ -262,7 +262,7 @@ int __init celleb_pci_workaround_init(void) | |||
262 | } | 262 | } |
263 | 263 | ||
264 | list_for_each_entry(phb, &hose_list, list_node) { | 264 | list_for_each_entry(phb, &hose_list, list_node) { |
265 | node = phb->arch_data; | 265 | node = phb->dn; |
266 | match = of_match_node(celleb_pci_workaround_match, node); | 266 | match = of_match_node(celleb_pci_workaround_match, node); |
267 | 267 | ||
268 | if (match) { | 268 | if (match) { |
diff --git a/arch/powerpc/platforms/celleb/pci.c b/arch/powerpc/platforms/celleb/pci.c index 13ec4a606b96..5d399e038c23 100644 --- a/arch/powerpc/platforms/celleb/pci.c +++ b/arch/powerpc/platforms/celleb/pci.c | |||
@@ -480,7 +480,7 @@ static struct of_device_id celleb_phb_match[] __initdata = { | |||
480 | 480 | ||
481 | int __init celleb_setup_phb(struct pci_controller *phb) | 481 | int __init celleb_setup_phb(struct pci_controller *phb) |
482 | { | 482 | { |
483 | struct device_node *dev = phb->arch_data; | 483 | struct device_node *dev = phb->dn; |
484 | const struct of_device_id *match; | 484 | const struct of_device_id *match; |
485 | int (*setup_func)(struct device_node *, struct pci_controller *); | 485 | int (*setup_func)(struct device_node *, struct pci_controller *); |
486 | 486 | ||
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 771ed0cf29a5..3ffa0ac170ee 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -558,7 +558,7 @@ void __init maple_pci_init(void) | |||
558 | * safe assumptions hopefully. | 558 | * safe assumptions hopefully. |
559 | */ | 559 | */ |
560 | if (u3_agp) { | 560 | if (u3_agp) { |
561 | struct device_node *np = u3_agp->arch_data; | 561 | struct device_node *np = u3_agp->dn; |
562 | PCI_DN(np)->busno = 0xf0; | 562 | PCI_DN(np)->busno = 0xf0; |
563 | for (np = np->child; np; np = np->sibling) | 563 | for (np = np->child; np; np = np->sibling) |
564 | PCI_DN(np)->busno = 0xf0; | 564 | PCI_DN(np)->busno = 0xf0; |
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c index ec49099830d5..778c249d8815 100644 --- a/arch/powerpc/platforms/powermac/pci.c +++ b/arch/powerpc/platforms/powermac/pci.c | |||
@@ -319,7 +319,7 @@ static int u3_ht_skip_device(struct pci_controller *hose, | |||
319 | if (bus->self) | 319 | if (bus->self) |
320 | busdn = pci_device_to_OF_node(bus->self); | 320 | busdn = pci_device_to_OF_node(bus->self); |
321 | else | 321 | else |
322 | busdn = hose->arch_data; | 322 | busdn = hose->dn; |
323 | for (dn = busdn->child; dn; dn = dn->sibling) | 323 | for (dn = busdn->child; dn; dn = dn->sibling) |
324 | if (PCI_DN(dn) && PCI_DN(dn)->devfn == devfn) | 324 | if (PCI_DN(dn) && PCI_DN(dn)->devfn == devfn) |
325 | break; | 325 | break; |
@@ -778,7 +778,7 @@ static void __init setup_u4_pcie(struct pci_controller* hose) | |||
778 | 778 | ||
779 | static void __init setup_u3_ht(struct pci_controller* hose) | 779 | static void __init setup_u3_ht(struct pci_controller* hose) |
780 | { | 780 | { |
781 | struct device_node *np = (struct device_node *)hose->arch_data; | 781 | struct device_node *np = hose->dn; |
782 | struct pci_controller *other = NULL; | 782 | struct pci_controller *other = NULL; |
783 | int i, cur; | 783 | int i, cur; |
784 | 784 | ||
@@ -1032,7 +1032,7 @@ void __init pmac_pci_init(void) | |||
1032 | * future though | 1032 | * future though |
1033 | */ | 1033 | */ |
1034 | if (u3_agp) { | 1034 | if (u3_agp) { |
1035 | struct device_node *np = u3_agp->arch_data; | 1035 | struct device_node *np = u3_agp->dn; |
1036 | PCI_DN(np)->busno = 0xf0; | 1036 | PCI_DN(np)->busno = 0xf0; |
1037 | for (np = np->child; np; np = np->sibling) | 1037 | for (np = np->child; np; np = np->sibling) |
1038 | PCI_DN(np)->busno = 0xf0; | 1038 | PCI_DN(np)->busno = 0xf0; |
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index ebb9313b6e91..a65c76308201 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c | |||
@@ -251,7 +251,7 @@ static void iommu_table_setparms(struct pci_controller *phb, | |||
251 | const unsigned long *basep; | 251 | const unsigned long *basep; |
252 | const u32 *sizep; | 252 | const u32 *sizep; |
253 | 253 | ||
254 | node = (struct device_node *)phb->arch_data; | 254 | node = phb->dn; |
255 | 255 | ||
256 | basep = of_get_property(node, "linux,tce-base", NULL); | 256 | basep = of_get_property(node, "linux,tce-base", NULL); |
257 | sizep = of_get_property(node, "linux,tce-size", NULL); | 257 | sizep = of_get_property(node, "linux,tce-size", NULL); |
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h index f67d262d9ec6..f139f2a44b19 100644 --- a/include/asm-powerpc/pci-bridge.h +++ b/include/asm-powerpc/pci-bridge.h | |||
@@ -11,6 +11,8 @@ | |||
11 | #include <linux/list.h> | 11 | #include <linux/list.h> |
12 | #include <linux/ioport.h> | 12 | #include <linux/ioport.h> |
13 | 13 | ||
14 | struct device_node; | ||
15 | |||
14 | /* | 16 | /* |
15 | * Structure of a PCI controller (host bridge) | 17 | * Structure of a PCI controller (host bridge) |
16 | */ | 18 | */ |
@@ -20,7 +22,7 @@ struct pci_controller { | |||
20 | #ifdef CONFIG_PPC64 | 22 | #ifdef CONFIG_PPC64 |
21 | int node; | 23 | int node; |
22 | #endif | 24 | #endif |
23 | void *arch_data; | 25 | struct device_node *dn; |
24 | struct list_head list_node; | 26 | struct list_head list_node; |
25 | struct device *parent; | 27 | struct device *parent; |
26 | 28 | ||
@@ -132,7 +134,6 @@ extern void __init update_bridge_resource(struct pci_dev *dev, | |||
132 | * by device_node->data. | 134 | * by device_node->data. |
133 | */ | 135 | */ |
134 | struct iommu_table; | 136 | struct iommu_table; |
135 | struct device_node; | ||
136 | 137 | ||
137 | struct pci_dn { | 138 | struct pci_dn { |
138 | int busno; /* pci bus number */ | 139 | int busno; /* pci bus number */ |