aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/platform-msi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/platform-msi.c')
-rw-r--r--drivers/base/platform-msi.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c
index 1857a5dd0816..134483daac25 100644
--- a/drivers/base/platform-msi.c
+++ b/drivers/base/platform-msi.c
@@ -63,20 +63,8 @@ static int platform_msi_init(struct irq_domain *domain,
63 unsigned int virq, irq_hw_number_t hwirq, 63 unsigned int virq, irq_hw_number_t hwirq,
64 msi_alloc_info_t *arg) 64 msi_alloc_info_t *arg)
65{ 65{
66 struct irq_data *data; 66 return irq_domain_set_hwirq_and_chip(domain, virq, hwirq,
67 67 info->chip, info->chip_data);
68 irq_domain_set_hwirq_and_chip(domain, virq, hwirq,
69 info->chip, info->chip_data);
70
71 /*
72 * Save the MSI descriptor in handler_data so that the
73 * irq_write_msi_msg callback can retrieve it (and the
74 * associated device).
75 */
76 data = irq_domain_get_irq_data(domain, virq);
77 data->handler_data = arg->desc;
78
79 return 0;
80} 68}
81#else 69#else
82#define platform_msi_set_desc NULL 70#define platform_msi_set_desc NULL
@@ -97,7 +85,7 @@ static void platform_msi_update_dom_ops(struct msi_domain_info *info)
97 85
98static void platform_msi_write_msg(struct irq_data *data, struct msi_msg *msg) 86static void platform_msi_write_msg(struct irq_data *data, struct msi_msg *msg)
99{ 87{
100 struct msi_desc *desc = irq_data_get_irq_handler_data(data); 88 struct msi_desc *desc = irq_data_get_msi_desc(data);
101 struct platform_msi_priv_data *priv_data; 89 struct platform_msi_priv_data *priv_data;
102 90
103 priv_data = desc->platform.msi_priv_data; 91 priv_data = desc->platform.msi_priv_data;