diff options
Diffstat (limited to 'drivers/base/platform-msi.c')
-rw-r--r-- | drivers/base/platform-msi.c | 18 |
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 | ||
98 | static void platform_msi_write_msg(struct irq_data *data, struct msi_msg *msg) | 86 | static 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; |