From 72ece3b8271bb59b25e42e3f0a1d6a3dbc69e369 Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Fri, 7 Dec 2007 01:54:57 +1100 Subject: [PATCH] [POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras --- arch/powerpc/platforms/iseries/pci.c | 3 ++- arch/powerpc/platforms/iseries/pci.h | 3 ++- 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) 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 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) + ((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 9f83878a0c2e..25dc0bb6185b 100644 --- a/arch/powerpc/platforms/iseries/vpdinfo.c +++ b/arch/powerpc/platforms/iseries/vpdinfo.c @@ -31,7 +31,6 @@ #include #include #include -#include #include #include "pci.h" @@ -244,25 +243,13 @@ static int __init iSeries_Get_Location_Code(u16 bus, HvAgentId agent, * 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));