[POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 6 Dec 2007 14:54:57 +0000 (01:54 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 11 Dec 2007 02:42:25 +0000 (13:42 +1100)
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/iseries/pci.c
arch/powerpc/platforms/iseries/pci.h
arch/powerpc/platforms/iseries/vpdinfo.c

index 8844d3e488dfa9387ad4bb190e784ac26c537bbf..3cf51c6df686dd3c2dd3ac18cf8b1f667de35749 100644 (file)
@@ -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();
index 730986bc917a7ecde3c724075bc147bf62423394..3cb18fa07b63013ddb315b968ccccfb160707402 100644 (file)
@@ -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
index 9f83878a0c2e429ec7aa6e340156a3a84916367b..25dc0bb6185b309cf68f7957337e2fa5a6c3cdbf 100644 (file)
@@ -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));