diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-12-06 09:54:57 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-12-10 21:42:25 -0500 |
commit | 72ece3b8271bb59b25e42e3f0a1d6a3dbc69e369 (patch) | |
tree | 8c2765a01286888cf3c3e363bdd3f4faa0848b31 | |
parent | 344893884685c1c4ec38d7c1e6f719c0030f7f9c (diff) |
[POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/platforms/iseries/pci.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/pci.h | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/vpdinfo.c | 17 |
3 files changed, 6 insertions, 17 deletions
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c index 8844d3e488df..3cf51c6df686 100644 --- a/arch/powerpc/platforms/iseries/pci.c +++ b/arch/powerpc/platforms/iseries/pci.c | |||
@@ -218,7 +218,8 @@ void __init iSeries_pci_final_fixup(void) | |||
218 | pdev->sysdata = node; | 218 | pdev->sysdata = node; |
219 | PCI_DN(node)->pcidev = pdev; | 219 | PCI_DN(node)->pcidev = pdev; |
220 | allocate_device_bars(pdev); | 220 | allocate_device_bars(pdev); |
221 | iSeries_Device_Information(pdev, num_dev); | 221 | iSeries_Device_Information(pdev, num_dev, pdn->busno, |
222 | pdn->bussubno); | ||
222 | iommu_devnode_init_iSeries(pdev, node); | 223 | iommu_devnode_init_iSeries(pdev, node); |
223 | } | 224 | } |
224 | iSeries_activate_IRQs(); | 225 | iSeries_activate_IRQs(); |
diff --git a/arch/powerpc/platforms/iseries/pci.h b/arch/powerpc/platforms/iseries/pci.h index 730986bc917a..3cb18fa07b63 100644 --- a/arch/powerpc/platforms/iseries/pci.h +++ b/arch/powerpc/platforms/iseries/pci.h | |||
@@ -58,7 +58,8 @@ static inline u64 iseries_ds_addr(struct device_node *node) | |||
58 | + ((u64)0x10 << 32); | 58 | + ((u64)0x10 << 32); |
59 | } | 59 | } |
60 | 60 | ||
61 | extern void iSeries_Device_Information(struct pci_dev*, int); | 61 | extern void iSeries_Device_Information(struct pci_dev *PciDev, int count, |
62 | u16 bus, HvSubBusNumber subbus); | ||
62 | #ifdef CONFIG_PCI | 63 | #ifdef CONFIG_PCI |
63 | extern void iSeries_pci_final_fixup(void); | 64 | extern void iSeries_pci_final_fixup(void); |
64 | #else | 65 | #else |
diff --git a/arch/powerpc/platforms/iseries/vpdinfo.c b/arch/powerpc/platforms/iseries/vpdinfo.c index 9f83878a0c2e..25dc0bb6185b 100644 --- a/arch/powerpc/platforms/iseries/vpdinfo.c +++ b/arch/powerpc/platforms/iseries/vpdinfo.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <asm/types.h> | 31 | #include <asm/types.h> |
32 | #include <asm/resource.h> | 32 | #include <asm/resource.h> |
33 | #include <asm/abs_addr.h> | 33 | #include <asm/abs_addr.h> |
34 | #include <asm/pci-bridge.h> | ||
35 | #include <asm/iseries/hv_types.h> | 34 | #include <asm/iseries/hv_types.h> |
36 | 35 | ||
37 | #include "pci.h" | 36 | #include "pci.h" |
@@ -244,25 +243,13 @@ out_free: | |||
244 | * PCI: Bus 0, Device 26, Vendor 0x12AE Frame 1, Card C10 Ethernet | 243 | * PCI: Bus 0, Device 26, Vendor 0x12AE Frame 1, Card C10 Ethernet |
245 | * controller | 244 | * controller |
246 | */ | 245 | */ |
247 | void __init iSeries_Device_Information(struct pci_dev *PciDev, int count) | 246 | void __init iSeries_Device_Information(struct pci_dev *PciDev, int count, |
247 | u16 bus, HvSubBusNumber subbus) | ||
248 | { | 248 | { |
249 | struct device_node *DevNode = PciDev->sysdata; | ||
250 | struct pci_dn *pdn; | ||
251 | u16 bus; | ||
252 | u8 frame = 0; | 249 | u8 frame = 0; |
253 | char card[4]; | 250 | char card[4]; |
254 | HvSubBusNumber subbus; | ||
255 | HvAgentId agent; | 251 | HvAgentId agent; |
256 | 252 | ||
257 | if (DevNode == NULL) { | ||
258 | printk("%d. PCI: iSeries_Device_Information DevNode is NULL\n", | ||
259 | count); | ||
260 | return; | ||
261 | } | ||
262 | |||
263 | pdn = PCI_DN(DevNode); | ||
264 | bus = pdn->busno; | ||
265 | subbus = pdn->bussubno; | ||
266 | agent = ISERIES_PCI_AGENTID(ISERIES_GET_DEVICE_FROM_SUBBUS(subbus), | 253 | agent = ISERIES_PCI_AGENTID(ISERIES_GET_DEVICE_FROM_SUBBUS(subbus), |
267 | ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus)); | 254 | ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus)); |
268 | 255 | ||