aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJiang Liu <[email protected]>2015-07-09 16:00:45 +0800
committerThomas Gleixner <[email protected]>2015-07-22 18:37:43 +0200
commit25a98bd4ff9355a218d2e7aa4d6e3c9bc2c27d6f (patch)
tree1aaf91bd385d4bec47f062148b714cad161c823c /include/linux
parent4a7cc831670550e6b48ef5760e7213f89935ff0d (diff)
genirq/MSI: Store 'struct device' instead of 'struct pci_dev' in struct msi_desc
Store 'struct device *' instead of 'struct pci_dev *' in struct msi_desc, so struct msi_desc can be reused by non PCI based MSI drivers. Signed-off-by: Jiang Liu <[email protected]> Reviewed-by: Yijing Wang <[email protected]> Reviewed-by: Marc Zyngier <[email protected]> Cc: Tony Luck <[email protected]> Cc: [email protected] Cc: Bjorn Helgaas <[email protected]> Cc: Grant Likely <[email protected]> Cc: Stuart Yoder <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Alexander Gordeev <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/msi.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/include/linux/msi.h b/include/linux/msi.h
index 57fe766a14bf..5f77e231f515 100644
--- a/include/linux/msi.h
+++ b/include/linux/msi.h
@@ -14,6 +14,7 @@ extern int pci_msi_ignore_mask;
/* Helper functions */
struct irq_data;
struct msi_desc;
+struct pci_dev;
void __get_cached_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg);
@@ -37,14 +38,14 @@ struct msi_desc {
void __iomem *mask_base;
u8 mask_pos;
};
- struct pci_dev *dev;
+ struct device *dev;
/* Last set MSI message */
struct msi_msg msg;
};
/* Helpers to hide struct msi_desc implementation details */
-#define msi_desc_to_dev(desc) (&(desc)->dev.dev)
+#define msi_desc_to_dev(desc) ((desc)->dev)
#define dev_to_msi_list(dev) (&(dev)->msi_list)
#define first_msi_entry(dev) \
list_first_entry(dev_to_msi_list((dev)), struct msi_desc, list)
@@ -56,11 +57,7 @@ struct msi_desc {
#define for_each_pci_msi_entry(desc, pdev) \
for_each_msi_entry((desc), &(pdev)->dev)
-static inline struct pci_dev *msi_desc_to_pci_dev(struct msi_desc *desc)
-{
- return desc->dev;
-}
-
+struct pci_dev *msi_desc_to_pci_dev(struct msi_desc *desc);
void *msi_desc_to_pci_sysdata(struct msi_desc *desc);
#else /* CONFIG_PCI_MSI */
static inline void *msi_desc_to_pci_sysdata(struct msi_desc *desc)