diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-12-29 10:59:06 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-12-29 15:13:04 -0500 |
commit | 702cb0a02813299d6911b775c637906ae21b737d (patch) | |
tree | afc29b040cc67d8b2efc4960d8bea0963895a388 | |
parent | 945f50a591783ac6e9bd59694f34d1ba03b778a7 (diff) |
genirq/irqdomain: Rename early argument of irq_domain_activate_irq()
The 'early' argument of irq_domain_activate_irq() is actually used to
denote reservation mode. To avoid confusion, rename it before abuse
happens.
No functional change.
Fixes: 72491643469a ("genirq/irqdomain: Update irq_domain_ops.activate() signature")
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Alexandru Chirvasitu <achirvasub@gmail.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Mikael Pettersson <mikpelinux@gmail.com>
Cc: Josh Poulson <jopoulso@microsoft.com>
Cc: Mihai Costache <v-micos@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-pci@vger.kernel.org
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: Simon Xiao <sixiao@microsoft.com>
Cc: Saeed Mahameed <saeedm@mellanox.com>
Cc: Jork Loeser <Jork.Loeser@microsoft.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: devel@linuxdriverproject.org
Cc: KY Srinivasan <kys@microsoft.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Sakari Ailus <sakari.ailus@intel.com>,
Cc: linux-media@vger.kernel.org
-rw-r--r-- | arch/x86/include/asm/irqdomain.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/trace/irq_vectors.h | 16 | ||||
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/apic/vector.c | 6 | ||||
-rw-r--r-- | arch/x86/platform/uv/uv_irq.c | 2 | ||||
-rw-r--r-- | drivers/gpio/gpio-xgene-sb.c | 2 | ||||
-rw-r--r-- | drivers/iommu/amd_iommu.c | 2 | ||||
-rw-r--r-- | drivers/iommu/intel_irq_remapping.c | 2 | ||||
-rw-r--r-- | drivers/irqchip/irq-gic-v3-its.c | 4 | ||||
-rw-r--r-- | drivers/pinctrl/stm32/pinctrl-stm32.c | 2 | ||||
-rw-r--r-- | include/linux/irqdomain.h | 2 | ||||
-rw-r--r-- | kernel/irq/internals.h | 2 | ||||
-rw-r--r-- | kernel/irq/irqdomain.c | 13 |
13 files changed, 29 insertions, 28 deletions
diff --git a/arch/x86/include/asm/irqdomain.h b/arch/x86/include/asm/irqdomain.h index 139feef467f7..c066ffae222b 100644 --- a/arch/x86/include/asm/irqdomain.h +++ b/arch/x86/include/asm/irqdomain.h | |||
@@ -44,7 +44,7 @@ extern int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq, | |||
44 | extern void mp_irqdomain_free(struct irq_domain *domain, unsigned int virq, | 44 | extern void mp_irqdomain_free(struct irq_domain *domain, unsigned int virq, |
45 | unsigned int nr_irqs); | 45 | unsigned int nr_irqs); |
46 | extern int mp_irqdomain_activate(struct irq_domain *domain, | 46 | extern int mp_irqdomain_activate(struct irq_domain *domain, |
47 | struct irq_data *irq_data, bool early); | 47 | struct irq_data *irq_data, bool reserve); |
48 | extern void mp_irqdomain_deactivate(struct irq_domain *domain, | 48 | extern void mp_irqdomain_deactivate(struct irq_domain *domain, |
49 | struct irq_data *irq_data); | 49 | struct irq_data *irq_data); |
50 | extern int mp_irqdomain_ioapic_idx(struct irq_domain *domain); | 50 | extern int mp_irqdomain_ioapic_idx(struct irq_domain *domain); |
diff --git a/arch/x86/include/asm/trace/irq_vectors.h b/arch/x86/include/asm/trace/irq_vectors.h index 84b9ec0c1bc0..22647a642e98 100644 --- a/arch/x86/include/asm/trace/irq_vectors.h +++ b/arch/x86/include/asm/trace/irq_vectors.h | |||
@@ -283,34 +283,34 @@ TRACE_EVENT(vector_alloc_managed, | |||
283 | DECLARE_EVENT_CLASS(vector_activate, | 283 | DECLARE_EVENT_CLASS(vector_activate, |
284 | 284 | ||
285 | TP_PROTO(unsigned int irq, bool is_managed, bool can_reserve, | 285 | TP_PROTO(unsigned int irq, bool is_managed, bool can_reserve, |
286 | bool early), | 286 | bool reserve), |
287 | 287 | ||
288 | TP_ARGS(irq, is_managed, can_reserve, early), | 288 | TP_ARGS(irq, is_managed, can_reserve, reserve), |
289 | 289 | ||
290 | TP_STRUCT__entry( | 290 | TP_STRUCT__entry( |
291 | __field( unsigned int, irq ) | 291 | __field( unsigned int, irq ) |
292 | __field( bool, is_managed ) | 292 | __field( bool, is_managed ) |
293 | __field( bool, can_reserve ) | 293 | __field( bool, can_reserve ) |
294 | __field( bool, early ) | 294 | __field( bool, reserve ) |
295 | ), | 295 | ), |
296 | 296 | ||
297 | TP_fast_assign( | 297 | TP_fast_assign( |
298 | __entry->irq = irq; | 298 | __entry->irq = irq; |
299 | __entry->is_managed = is_managed; | 299 | __entry->is_managed = is_managed; |
300 | __entry->can_reserve = can_reserve; | 300 | __entry->can_reserve = can_reserve; |
301 | __entry->early = early; | 301 | __entry->reserve = reserve; |
302 | ), | 302 | ), |
303 | 303 | ||
304 | TP_printk("irq=%u is_managed=%d can_reserve=%d early=%d", | 304 | TP_printk("irq=%u is_managed=%d can_reserve=%d reserve=%d", |
305 | __entry->irq, __entry->is_managed, __entry->can_reserve, | 305 | __entry->irq, __entry->is_managed, __entry->can_reserve, |
306 | __entry->early) | 306 | __entry->reserve) |
307 | ); | 307 | ); |
308 | 308 | ||
309 | #define DEFINE_IRQ_VECTOR_ACTIVATE_EVENT(name) \ | 309 | #define DEFINE_IRQ_VECTOR_ACTIVATE_EVENT(name) \ |
310 | DEFINE_EVENT_FN(vector_activate, name, \ | 310 | DEFINE_EVENT_FN(vector_activate, name, \ |
311 | TP_PROTO(unsigned int irq, bool is_managed, \ | 311 | TP_PROTO(unsigned int irq, bool is_managed, \ |
312 | bool can_reserve, bool early), \ | 312 | bool can_reserve, bool reserve), \ |
313 | TP_ARGS(irq, is_managed, can_reserve, early), NULL, NULL); \ | 313 | TP_ARGS(irq, is_managed, can_reserve, reserve), NULL, NULL); \ |
314 | 314 | ||
315 | DEFINE_IRQ_VECTOR_ACTIVATE_EVENT(vector_activate); | 315 | DEFINE_IRQ_VECTOR_ACTIVATE_EVENT(vector_activate); |
316 | DEFINE_IRQ_VECTOR_ACTIVATE_EVENT(vector_deactivate); | 316 | DEFINE_IRQ_VECTOR_ACTIVATE_EVENT(vector_deactivate); |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 201579dc5242..8a7963421460 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -2988,7 +2988,7 @@ void mp_irqdomain_free(struct irq_domain *domain, unsigned int virq, | |||
2988 | } | 2988 | } |
2989 | 2989 | ||
2990 | int mp_irqdomain_activate(struct irq_domain *domain, | 2990 | int mp_irqdomain_activate(struct irq_domain *domain, |
2991 | struct irq_data *irq_data, bool early) | 2991 | struct irq_data *irq_data, bool reserve) |
2992 | { | 2992 | { |
2993 | unsigned long flags; | 2993 | unsigned long flags; |
2994 | 2994 | ||
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c index 1e969dba0476..52c85c8147e9 100644 --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c | |||
@@ -399,21 +399,21 @@ static int activate_managed(struct irq_data *irqd) | |||
399 | } | 399 | } |
400 | 400 | ||
401 | static int x86_vector_activate(struct irq_domain *dom, struct irq_data *irqd, | 401 | static int x86_vector_activate(struct irq_domain *dom, struct irq_data *irqd, |
402 | bool early) | 402 | bool reserve) |
403 | { | 403 | { |
404 | struct apic_chip_data *apicd = apic_chip_data(irqd); | 404 | struct apic_chip_data *apicd = apic_chip_data(irqd); |
405 | unsigned long flags; | 405 | unsigned long flags; |
406 | int ret = 0; | 406 | int ret = 0; |
407 | 407 | ||
408 | trace_vector_activate(irqd->irq, apicd->is_managed, | 408 | trace_vector_activate(irqd->irq, apicd->is_managed, |
409 | apicd->can_reserve, early); | 409 | apicd->can_reserve, reserve); |
410 | 410 | ||
411 | /* Nothing to do for fixed assigned vectors */ | 411 | /* Nothing to do for fixed assigned vectors */ |
412 | if (!apicd->can_reserve && !apicd->is_managed) | 412 | if (!apicd->can_reserve && !apicd->is_managed) |
413 | return 0; | 413 | return 0; |
414 | 414 | ||
415 | raw_spin_lock_irqsave(&vector_lock, flags); | 415 | raw_spin_lock_irqsave(&vector_lock, flags); |
416 | if (early || irqd_is_managed_and_shutdown(irqd)) | 416 | if (reserve || irqd_is_managed_and_shutdown(irqd)) |
417 | vector_assign_managed_shutdown(irqd); | 417 | vector_assign_managed_shutdown(irqd); |
418 | else if (apicd->is_managed) | 418 | else if (apicd->is_managed) |
419 | ret = activate_managed(irqd); | 419 | ret = activate_managed(irqd); |
diff --git a/arch/x86/platform/uv/uv_irq.c b/arch/x86/platform/uv/uv_irq.c index 5f6fd860820a..e4cb9f4cde8a 100644 --- a/arch/x86/platform/uv/uv_irq.c +++ b/arch/x86/platform/uv/uv_irq.c | |||
@@ -128,7 +128,7 @@ static void uv_domain_free(struct irq_domain *domain, unsigned int virq, | |||
128 | * on the specified blade to allow the sending of MSIs to the specified CPU. | 128 | * on the specified blade to allow the sending of MSIs to the specified CPU. |
129 | */ | 129 | */ |
130 | static int uv_domain_activate(struct irq_domain *domain, | 130 | static int uv_domain_activate(struct irq_domain *domain, |
131 | struct irq_data *irq_data, bool early) | 131 | struct irq_data *irq_data, bool reserve) |
132 | { | 132 | { |
133 | uv_program_mmr(irqd_cfg(irq_data), irq_data->chip_data); | 133 | uv_program_mmr(irqd_cfg(irq_data), irq_data->chip_data); |
134 | return 0; | 134 | return 0; |
diff --git a/drivers/gpio/gpio-xgene-sb.c b/drivers/gpio/gpio-xgene-sb.c index 2313af82fad3..acd59113e08b 100644 --- a/drivers/gpio/gpio-xgene-sb.c +++ b/drivers/gpio/gpio-xgene-sb.c | |||
@@ -139,7 +139,7 @@ static int xgene_gpio_sb_to_irq(struct gpio_chip *gc, u32 gpio) | |||
139 | 139 | ||
140 | static int xgene_gpio_sb_domain_activate(struct irq_domain *d, | 140 | static int xgene_gpio_sb_domain_activate(struct irq_domain *d, |
141 | struct irq_data *irq_data, | 141 | struct irq_data *irq_data, |
142 | bool early) | 142 | bool reserve) |
143 | { | 143 | { |
144 | struct xgene_gpio_sb *priv = d->host_data; | 144 | struct xgene_gpio_sb *priv = d->host_data; |
145 | u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq); | 145 | u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq); |
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 7d5eb004091d..97baf88d9505 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c | |||
@@ -4184,7 +4184,7 @@ static void amd_ir_update_irte(struct irq_data *irqd, struct amd_iommu *iommu, | |||
4184 | struct irq_cfg *cfg); | 4184 | struct irq_cfg *cfg); |
4185 | 4185 | ||
4186 | static int irq_remapping_activate(struct irq_domain *domain, | 4186 | static int irq_remapping_activate(struct irq_domain *domain, |
4187 | struct irq_data *irq_data, bool early) | 4187 | struct irq_data *irq_data, bool reserve) |
4188 | { | 4188 | { |
4189 | struct amd_ir_data *data = irq_data->chip_data; | 4189 | struct amd_ir_data *data = irq_data->chip_data; |
4190 | struct irq_2_irte *irte_info = &data->irq_2_irte; | 4190 | struct irq_2_irte *irte_info = &data->irq_2_irte; |
diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c index 76a193c7fcfc..66f69af2c219 100644 --- a/drivers/iommu/intel_irq_remapping.c +++ b/drivers/iommu/intel_irq_remapping.c | |||
@@ -1397,7 +1397,7 @@ static void intel_irq_remapping_free(struct irq_domain *domain, | |||
1397 | } | 1397 | } |
1398 | 1398 | ||
1399 | static int intel_irq_remapping_activate(struct irq_domain *domain, | 1399 | static int intel_irq_remapping_activate(struct irq_domain *domain, |
1400 | struct irq_data *irq_data, bool early) | 1400 | struct irq_data *irq_data, bool reserve) |
1401 | { | 1401 | { |
1402 | intel_ir_reconfigure_irte(irq_data, true); | 1402 | intel_ir_reconfigure_irte(irq_data, true); |
1403 | return 0; | 1403 | return 0; |
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 4039e64cd342..06f025fd5726 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c | |||
@@ -2303,7 +2303,7 @@ static int its_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, | |||
2303 | } | 2303 | } |
2304 | 2304 | ||
2305 | static int its_irq_domain_activate(struct irq_domain *domain, | 2305 | static int its_irq_domain_activate(struct irq_domain *domain, |
2306 | struct irq_data *d, bool early) | 2306 | struct irq_data *d, bool reserve) |
2307 | { | 2307 | { |
2308 | struct its_device *its_dev = irq_data_get_irq_chip_data(d); | 2308 | struct its_device *its_dev = irq_data_get_irq_chip_data(d); |
2309 | u32 event = its_get_event_id(d); | 2309 | u32 event = its_get_event_id(d); |
@@ -2818,7 +2818,7 @@ static int its_vpe_irq_domain_alloc(struct irq_domain *domain, unsigned int virq | |||
2818 | } | 2818 | } |
2819 | 2819 | ||
2820 | static int its_vpe_irq_domain_activate(struct irq_domain *domain, | 2820 | static int its_vpe_irq_domain_activate(struct irq_domain *domain, |
2821 | struct irq_data *d, bool early) | 2821 | struct irq_data *d, bool reserve) |
2822 | { | 2822 | { |
2823 | struct its_vpe *vpe = irq_data_get_irq_chip_data(d); | 2823 | struct its_vpe *vpe = irq_data_get_irq_chip_data(d); |
2824 | struct its_node *its; | 2824 | struct its_node *its; |
diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c index a276c61be217..e62ab087bfd8 100644 --- a/drivers/pinctrl/stm32/pinctrl-stm32.c +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c | |||
@@ -290,7 +290,7 @@ static int stm32_gpio_domain_translate(struct irq_domain *d, | |||
290 | } | 290 | } |
291 | 291 | ||
292 | static int stm32_gpio_domain_activate(struct irq_domain *d, | 292 | static int stm32_gpio_domain_activate(struct irq_domain *d, |
293 | struct irq_data *irq_data, bool early) | 293 | struct irq_data *irq_data, bool reserve) |
294 | { | 294 | { |
295 | struct stm32_gpio_bank *bank = d->host_data; | 295 | struct stm32_gpio_bank *bank = d->host_data; |
296 | struct stm32_pinctrl *pctl = dev_get_drvdata(bank->gpio_chip.parent); | 296 | struct stm32_pinctrl *pctl = dev_get_drvdata(bank->gpio_chip.parent); |
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index a34355d19546..48c7e86bb556 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h | |||
@@ -113,7 +113,7 @@ struct irq_domain_ops { | |||
113 | unsigned int nr_irqs, void *arg); | 113 | unsigned int nr_irqs, void *arg); |
114 | void (*free)(struct irq_domain *d, unsigned int virq, | 114 | void (*free)(struct irq_domain *d, unsigned int virq, |
115 | unsigned int nr_irqs); | 115 | unsigned int nr_irqs); |
116 | int (*activate)(struct irq_domain *d, struct irq_data *irqd, bool early); | 116 | int (*activate)(struct irq_domain *d, struct irq_data *irqd, bool reserve); |
117 | void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data); | 117 | void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data); |
118 | int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec, | 118 | int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec, |
119 | unsigned long *out_hwirq, unsigned int *out_type); | 119 | unsigned long *out_hwirq, unsigned int *out_type); |
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index 07d08ca701ec..ab19371eab9b 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h | |||
@@ -440,7 +440,7 @@ static inline bool irq_fixup_move_pending(struct irq_desc *desc, bool fclear) | |||
440 | #endif /* !CONFIG_GENERIC_PENDING_IRQ */ | 440 | #endif /* !CONFIG_GENERIC_PENDING_IRQ */ |
441 | 441 | ||
442 | #if !defined(CONFIG_IRQ_DOMAIN) || !defined(CONFIG_IRQ_DOMAIN_HIERARCHY) | 442 | #if !defined(CONFIG_IRQ_DOMAIN) || !defined(CONFIG_IRQ_DOMAIN_HIERARCHY) |
443 | static inline int irq_domain_activate_irq(struct irq_data *data, bool early) | 443 | static inline int irq_domain_activate_irq(struct irq_data *data, bool reserve) |
444 | { | 444 | { |
445 | irqd_set_activated(data); | 445 | irqd_set_activated(data); |
446 | return 0; | 446 | return 0; |
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 4f4f60015e8a..62068ad46930 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c | |||
@@ -1693,7 +1693,7 @@ static void __irq_domain_deactivate_irq(struct irq_data *irq_data) | |||
1693 | } | 1693 | } |
1694 | } | 1694 | } |
1695 | 1695 | ||
1696 | static int __irq_domain_activate_irq(struct irq_data *irqd, bool early) | 1696 | static int __irq_domain_activate_irq(struct irq_data *irqd, bool reserve) |
1697 | { | 1697 | { |
1698 | int ret = 0; | 1698 | int ret = 0; |
1699 | 1699 | ||
@@ -1702,9 +1702,9 @@ static int __irq_domain_activate_irq(struct irq_data *irqd, bool early) | |||
1702 | 1702 | ||
1703 | if (irqd->parent_data) | 1703 | if (irqd->parent_data) |
1704 | ret = __irq_domain_activate_irq(irqd->parent_data, | 1704 | ret = __irq_domain_activate_irq(irqd->parent_data, |
1705 | early); | 1705 | reserve); |
1706 | if (!ret && domain->ops->activate) { | 1706 | if (!ret && domain->ops->activate) { |
1707 | ret = domain->ops->activate(domain, irqd, early); | 1707 | ret = domain->ops->activate(domain, irqd, reserve); |
1708 | /* Rollback in case of error */ | 1708 | /* Rollback in case of error */ |
1709 | if (ret && irqd->parent_data) | 1709 | if (ret && irqd->parent_data) |
1710 | __irq_domain_deactivate_irq(irqd->parent_data); | 1710 | __irq_domain_deactivate_irq(irqd->parent_data); |
@@ -1716,17 +1716,18 @@ static int __irq_domain_activate_irq(struct irq_data *irqd, bool early) | |||
1716 | /** | 1716 | /** |
1717 | * irq_domain_activate_irq - Call domain_ops->activate recursively to activate | 1717 | * irq_domain_activate_irq - Call domain_ops->activate recursively to activate |
1718 | * interrupt | 1718 | * interrupt |
1719 | * @irq_data: outermost irq_data associated with interrupt | 1719 | * @irq_data: Outermost irq_data associated with interrupt |
1720 | * @reserve: If set only reserve an interrupt vector instead of assigning one | ||
1720 | * | 1721 | * |
1721 | * This is the second step to call domain_ops->activate to program interrupt | 1722 | * This is the second step to call domain_ops->activate to program interrupt |
1722 | * controllers, so the interrupt could actually get delivered. | 1723 | * controllers, so the interrupt could actually get delivered. |
1723 | */ | 1724 | */ |
1724 | int irq_domain_activate_irq(struct irq_data *irq_data, bool early) | 1725 | int irq_domain_activate_irq(struct irq_data *irq_data, bool reserve) |
1725 | { | 1726 | { |
1726 | int ret = 0; | 1727 | int ret = 0; |
1727 | 1728 | ||
1728 | if (!irqd_is_activated(irq_data)) | 1729 | if (!irqd_is_activated(irq_data)) |
1729 | ret = __irq_domain_activate_irq(irq_data, early); | 1730 | ret = __irq_domain_activate_irq(irq_data, reserve); |
1730 | if (!ret) | 1731 | if (!ret) |
1731 | irqd_set_activated(irq_data); | 1732 | irqd_set_activated(irq_data); |
1732 | return ret; | 1733 | return ret; |