summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2007-12-07 01:54:57 +1100
committerPaul Mackerras <paulus@samba.org>2007-12-11 13:42:25 +1100
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 8844d3e488d..3cf51c6df68 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)
pdev->sysdata = node;
PCI_DN(node)->pcidev = pdev;
allocate_device_bars(pdev);
- iSeries_Device_Information(pdev, num_dev);
+ iSeries_Device_Information(pdev, num_dev, pdn->busno,
+ pdn->bussubno);
iommu_devnode_init_iSeries(pdev, node);
}
iSeries_activate_IRQs();
diff --git a/arch/powerpc/platforms/iseries/pci.h b/arch/powerpc/platforms/iseries/pci.h
index 730986bc917..3cb18fa07b6 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)
+ ((u64)0x10 << 32);
}
-extern void iSeries_Device_Information(struct pci_dev*, int);
+extern void iSeries_Device_Information(struct pci_dev *PciDev, int count,
+ u16 bus, HvSubBusNumber subbus);
#ifdef CONFIG_PCI
extern void iSeries_pci_final_fixup(void);
#else
diff --git a/arch/powerpc/platforms/iseries/vpdinfo.c b/arch/powerpc/platforms/iseries/vpdinfo.c
index 9f83878a0c2..25dc0bb6185 100644
--- a/arch/powerpc/platforms/iseries/vpdinfo.c
+++ b/arch/powerpc/platforms/iseries/vpdinfo.c
@@ -31,7 +31,6 @@
#include <asm/types.h>
#include <asm/resource.h>
#include <asm/abs_addr.h>
-#include <asm/pci-bridge.h>
#include <asm/iseries/hv_types.h>
#include "pci.h"
@@ -244,25 +243,13 @@ out_free:
* PCI: Bus 0, Device 26, Vendor 0x12AE Frame 1, Card C10 Ethernet
* controller
*/
-void __init iSeries_Device_Information(struct pci_dev *PciDev, int count)
+void __init iSeries_Device_Information(struct pci_dev *PciDev, int count,
+ u16 bus, HvSubBusNumber subbus)
{
- struct device_node *DevNode = PciDev->sysdata;
- struct pci_dn *pdn;
- u16 bus;
u8 frame = 0;
char card[4];
- HvSubBusNumber subbus;
HvAgentId agent;
- if (DevNode == NULL) {
- printk("%d. PCI: iSeries_Device_Information DevNode is NULL\n",
- count);
- return;
- }
-
- pdn = PCI_DN(DevNode);
- bus = pdn->busno;
- subbus = pdn->bussubno;
agent = ISERIES_PCI_AGENTID(ISERIES_GET_DEVICE_FROM_SUBBUS(subbus),
ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus));