Browse Source

[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>
Stephen Rothwell 17 years ago
parent
commit
72ece3b827

+ 2 - 1
arch/powerpc/platforms/iseries/pci.c

@@ -218,7 +218,8 @@ void __init iSeries_pci_final_fixup(void)
 		pdev->sysdata = node;
 		pdev->sysdata = node;
 		PCI_DN(node)->pcidev = pdev;
 		PCI_DN(node)->pcidev = pdev;
 		allocate_device_bars(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);
 		iommu_devnode_init_iSeries(pdev, node);
 	}
 	}
 	iSeries_activate_IRQs();
 	iSeries_activate_IRQs();

+ 2 - 1
arch/powerpc/platforms/iseries/pci.h

@@ -58,7 +58,8 @@ static inline u64 iseries_ds_addr(struct device_node *node)
 			+ ((u64)0x10 << 32);
 			+ ((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
 #ifdef CONFIG_PCI
 extern void	iSeries_pci_final_fixup(void);
 extern void	iSeries_pci_final_fixup(void);
 #else
 #else

+ 2 - 15
arch/powerpc/platforms/iseries/vpdinfo.c

@@ -31,7 +31,6 @@
 #include <asm/types.h>
 #include <asm/types.h>
 #include <asm/resource.h>
 #include <asm/resource.h>
 #include <asm/abs_addr.h>
 #include <asm/abs_addr.h>
-#include <asm/pci-bridge.h>
 #include <asm/iseries/hv_types.h>
 #include <asm/iseries/hv_types.h>
 
 
 #include "pci.h"
 #include "pci.h"
@@ -244,25 +243,13 @@ out_free:
  * PCI: Bus  0, Device 26, Vendor 0x12AE  Frame  1, Card  C10  Ethernet
  * PCI: Bus  0, Device 26, Vendor 0x12AE  Frame  1, Card  C10  Ethernet
  * controller
  * 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;
 	u8 frame = 0;
 	char card[4];
 	char card[4];
-	HvSubBusNumber subbus;
 	HvAgentId agent;
 	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),
 	agent = ISERIES_PCI_AGENTID(ISERIES_GET_DEVICE_FROM_SUBBUS(subbus),
 			ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus));
 			ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus));