]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/asm-ppc64/pci-bridge.h
powerpc: eliminate DsaAddr from pci_dn
[karo-tx-linux.git] / include / asm-ppc64 / pci-bridge.h
index 6b4a5b1f695e916cf72b38f29ec44f8ed1e132ec..0474bdbf556c3cc4ecb8b06018ffbd680f2a0691 100644 (file)
@@ -2,7 +2,11 @@
 #ifndef _ASM_PCI_BRIDGE_H
 #define _ASM_PCI_BRIDGE_H
 
+#include <linux/config.h>
 #include <linux/pci.h>
+#include <linux/list.h>
+
+#include <asm/iSeries/HvCallPci.h>
 
 /*
  * This program is free software; you can redistribute it and/or
@@ -71,6 +75,12 @@ struct pci_dn {
        struct  iommu_table *iommu_table;       /* for phb's or bridges */
        struct  pci_dev *pcidev;        /* back-pointer to the pci device */
        struct  device_node *node;      /* back-pointer to the device_node */
+#ifdef CONFIG_PPC_ISERIES
+       struct  list_head Device_List;
+       int             Irq;            /* Assigned IRQ */
+       int             Flags;          /* Possible flags(disable/bist)*/
+       u8              LogicalSlot;    /* Hv Slot Index for Tces */
+#endif
        u32     config_space[16];       /* saved PCI config space */
 };
 
@@ -96,6 +106,16 @@ static inline struct device_node *pci_device_to_OF_node(struct pci_dev *dev)
        return fetch_dev_dn(dev);
 }
 
+static inline int pci_device_from_OF_node(struct device_node *np,
+                                         u8 *bus, u8 *devfn)
+{
+       if (!PCI_DN(np))
+               return -ENODEV;
+       *bus = PCI_DN(np)->busno;
+       *devfn = PCI_DN(np)->devfn;
+       return 0;
+}
+
 static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus)
 {
        if (bus->self)
@@ -119,5 +139,10 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
        return PCI_DN(busdn)->phb;
 }
 
+/* Return values for ppc_md.pci_probe_mode function */
+#define PCI_PROBE_NONE         -1      /* Don't look at this bus at all */
+#define PCI_PROBE_NORMAL       0       /* Do normal PCI probing */
+#define PCI_PROBE_DEVTREE      1       /* Instantiate from device tree */
+
 #endif
 #endif /* __KERNEL__ */