aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2007-12-06 09:54:57 -0500
committerPaul Mackerras <paulus@samba.org>2007-12-10 21:42:25 -0500
commit72ece3b8271bb59b25e42e3f0a1d6a3dbc69e369 (patch)
tree8c2765a01286888cf3c3e363bdd3f4faa0848b31
parent344893884685c1c4ec38d7c1e6f719c0030f7f9c (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.c3
-rw-r--r--arch/powerpc/platforms/iseries/pci.h3
-rw-r--r--arch/powerpc/platforms/iseries/vpdinfo.c17
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
61extern void iSeries_Device_Information(struct pci_dev*, int); 61extern void iSeries_Device_Information(struct pci_dev *PciDev, int count,
62 u16 bus, HvSubBusNumber subbus);
62#ifdef CONFIG_PCI 63#ifdef CONFIG_PCI
63extern void iSeries_pci_final_fixup(void); 64extern 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 */
247void __init iSeries_Device_Information(struct pci_dev *PciDev, int count) 246void __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