#include <uapi/linux/pci.h>
#include <linux/pci_ids.h>
+#include <linux/uek_kabi.h>
/*
* The PCI interface treats multi-function devices as independent
phys_addr_t rom; /* Physical address of ROM if it's not from the BAR */
size_t romlen; /* Length of ROM if it's not from the BAR */
char *driver_override; /* Driver name to force a match */
+/*
+ * Oracle Specific Extension to accomodate future upstream changes to this structure
+ * yet maintain KABI. For Oracle internal use only!
+ */
+ UEK_KABI_EXTEND(u8 uek_reserved1)
+ UEK_KABI_EXTEND(u16 uek_reserved2)
+ UEK_KABI_EXTEND(unsigned int uek_reserved3)
+ UEK_KABI_EXTEND(u64 uek_reserved4)
};
static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
#endif
return dev;
}
-
struct pci_dev *pci_alloc_dev(struct pci_bus *bus);
#define to_pci_dev(n) container_of(n, struct pci_dev, dev)
const struct pci_error_handlers *err_handler;
struct device_driver driver;
struct pci_dynids dynids;
+/* Extension to accomodate future upstream changes to this structure
+ * yet maintain KABI. For Oracle internal use only!
+ */
+ int (*uek_reserved)(struct pci_dev *dev);
};
#define to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
#include <linux/mutex.h>
#include <linux/seq_file.h>
#include <linux/blk-mq.h>
+#include <linux/uek_kabi.h>
#include <scsi/scsi.h>
struct request_queue;
* Needed just in case we have virtual hosts.
*/
struct device *dma_dev;
-
+/* FOR Oracle USE ONLY
+ *
+ * The following padding has been inserted before ABI freeze to
+ * allow extending the structure while preserve ABI.
+ *
+ */
+ UEK_KABI_RESERVED_P(1)
+ UEK_KABI_RESERVED_P(2)
+ UEK_KABI_RESERVED_P(3)
+ UEK_KABI_RESERVED_P(4)
+ UEK_KABI_RESERVED_P(5)
+ UEK_KABI_RESERVED_P(6)
+ unsigned int scsi_mq_reserved1;
+ unsigned int scsi_mq_reserved2;
+ void *scsi_mq_reserved3;
+ void *scsi_mq_reserved4;
+ atomic_t scsi_mq_reserved5;
+ atomic_t scsi_mq_reserved6;
/*
* We should ensure that this is aligned, both for better performance
* and also because some compilers (m68k) don't automatically force