From: Stephen Rothwell Date: Thu, 6 Dec 2007 14:54:57 +0000 (+1100) Subject: [POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=72ece3b8271bb59b25e42e3f0a1d6a3dbc69e369;p=deliverable%2Flinux.git [POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras --- 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 @@ 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));