From: Jon Hunter <jonathanh@nvidia.com> To: Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>, Marc Zyngier <marc.zyngier@arm.com>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, Kumar Gala <galak@codeaurora.org>, Stephen Warren <swarren@wwwdotorg.org>, Thierry Reding <thierry.reding@gmail.com> Cc: Kevin Hilman <khilman@kernel.org>, Geert Uytterhoeven <geert@linux-m68k.org>, Grygorii Strashko <grygorii.strashko@ti.com>, Lars-Peter Clausen <lars@metafoo.de>, Linus Walleij <linus.walleij@linaro.org>, linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jon Hunter <jonathanh@nvidia.com> Subject: [PATCH V2 09/14] irqchip/gic: Remove static irq_chip definition for eoimode1 Date: Wed, 20 Apr 2016 12:03:52 +0100 [thread overview] Message-ID: <1461150237-15580-10-git-send-email-jonathanh@nvidia.com> (raw) In-Reply-To: <1461150237-15580-1-git-send-email-jonathanh@nvidia.com> There are only 3 differences (not including the name) in the definitions of the gic_chip and gic_eoimode1_chip structures. Instead of statically defining the gic_eoimode1_chip structure, remove it and populate the eoimode1 functions dynamically for the appropriate GIC irqchips. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> --- drivers/irqchip/irq-gic.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 48ed3cd215df..f1b51317267f 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -391,20 +391,6 @@ static struct irq_chip gic_chip = { IRQCHIP_MASK_ON_SUSPEND, }; -static struct irq_chip gic_eoimode1_chip = { - .name = "GICv2", - .irq_mask = gic_eoimode1_mask_irq, - .irq_unmask = gic_unmask_irq, - .irq_eoi = gic_eoimode1_eoi_irq, - .irq_set_type = gic_set_type, - .irq_get_irqchip_state = gic_irq_get_irqchip_state, - .irq_set_irqchip_state = gic_irq_set_irqchip_state, - .irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity, - .flags = IRQCHIP_SET_TYPE_MASKED | - IRQCHIP_SKIP_SET_WAKE | - IRQCHIP_MASK_ON_SUSPEND, -}; - void __init gic_cascade_irq(unsigned int gic_nr, unsigned int irq) { BUG_ON(gic_nr >= CONFIG_ARM_GIC_MAX_NR); @@ -1026,10 +1012,14 @@ static void __init __gic_init_bases(unsigned int gic_nr, int irq_start, gic = &gic_data[gic_nr]; /* Initialize irq_chip */ + gic->chip = gic_chip; + if (static_key_true(&supports_deactivate) && gic_nr == 0) { - gic->chip = gic_eoimode1_chip; + gic->chip.irq_mask = gic_eoimode1_mask_irq; + gic->chip.irq_eoi = gic_eoimode1_eoi_irq; + gic->chip.irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity; + gic->chip.name = "GICv2"; } else { - gic->chip = gic_chip; gic->chip.name = kasprintf(GFP_KERNEL, "GIC-%d", gic_nr); } -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: Jon Hunter <jonathanh@nvidia.com> To: Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>, Marc Zyngier <marc.zyngier@arm.com>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, Kumar Gala <galak@codeaurora.org>, Stephen Warren <swarren@wwwdotorg.org>, Thierry Reding <thierry.reding@gmail.com> Cc: Kevin Hilman <khilman@kernel.org>, Geert Uytterhoeven <geert@linux-m68k.org>, Grygorii Strashko <grygorii.strashko@ti.com>, Lars-Peter Clausen <lars@metafoo.de>, Linus Walleij <linus.walleij@linaro.org>, <linux-tegra@vger.kernel.org>, <linux-omap@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com> Subject: [PATCH V2 09/14] irqchip/gic: Remove static irq_chip definition for eoimode1 Date: Wed, 20 Apr 2016 12:03:52 +0100 [thread overview] Message-ID: <1461150237-15580-10-git-send-email-jonathanh@nvidia.com> (raw) In-Reply-To: <1461150237-15580-1-git-send-email-jonathanh@nvidia.com> There are only 3 differences (not including the name) in the definitions of the gic_chip and gic_eoimode1_chip structures. Instead of statically defining the gic_eoimode1_chip structure, remove it and populate the eoimode1 functions dynamically for the appropriate GIC irqchips. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> --- drivers/irqchip/irq-gic.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 48ed3cd215df..f1b51317267f 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -391,20 +391,6 @@ static struct irq_chip gic_chip = { IRQCHIP_MASK_ON_SUSPEND, }; -static struct irq_chip gic_eoimode1_chip = { - .name = "GICv2", - .irq_mask = gic_eoimode1_mask_irq, - .irq_unmask = gic_unmask_irq, - .irq_eoi = gic_eoimode1_eoi_irq, - .irq_set_type = gic_set_type, - .irq_get_irqchip_state = gic_irq_get_irqchip_state, - .irq_set_irqchip_state = gic_irq_set_irqchip_state, - .irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity, - .flags = IRQCHIP_SET_TYPE_MASKED | - IRQCHIP_SKIP_SET_WAKE | - IRQCHIP_MASK_ON_SUSPEND, -}; - void __init gic_cascade_irq(unsigned int gic_nr, unsigned int irq) { BUG_ON(gic_nr >= CONFIG_ARM_GIC_MAX_NR); @@ -1026,10 +1012,14 @@ static void __init __gic_init_bases(unsigned int gic_nr, int irq_start, gic = &gic_data[gic_nr]; /* Initialize irq_chip */ + gic->chip = gic_chip; + if (static_key_true(&supports_deactivate) && gic_nr == 0) { - gic->chip = gic_eoimode1_chip; + gic->chip.irq_mask = gic_eoimode1_mask_irq; + gic->chip.irq_eoi = gic_eoimode1_eoi_irq; + gic->chip.irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity; + gic->chip.name = "GICv2"; } else { - gic->chip = gic_chip; gic->chip.name = kasprintf(GFP_KERNEL, "GIC-%d", gic_nr); } -- 2.1.4
next prev parent reply other threads:[~2016-04-20 11:03 UTC|newest] Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-04-20 11:03 [PATCH V2 00/14] Add support for Tegra210 AGIC Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 02/14] irqchip/gic: WARN if setting the interrupt type for a PPI fails Jon Hunter 2016-04-20 11:03 ` Jon Hunter [not found] ` <1461150237-15580-3-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 8:49 ` Marc Zyngier 2016-04-22 8:49 ` Marc Zyngier 2016-04-20 11:03 ` [PATCH V2 03/14] irqchip: Mask the non-type/sense bits when translating an IRQ Jon Hunter 2016-04-20 11:03 ` Jon Hunter [not found] ` <1461150237-15580-4-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 8:41 ` Marc Zyngier 2016-04-22 8:41 ` Marc Zyngier 2016-04-20 11:03 ` [PATCH V2 05/14] genirq: Look-up trigger type if not specified by caller Jon Hunter 2016-04-20 11:03 ` Jon Hunter [not found] ` <1461150237-15580-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-20 11:03 ` [PATCH V2 01/14] irqchip/gic: Don't unnecessarily write the IRQ configuration Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 04/14] irqdomain: Fix handling of type settings for existing mappings Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-21 11:31 ` Jon Hunter 2016-04-21 11:31 ` Jon Hunter [not found] ` <1461150237-15580-5-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 8:11 ` Marc Zyngier 2016-04-22 8:11 ` Marc Zyngier 2016-04-20 11:03 ` [PATCH V2 06/14] irqdomain: Don't set type when mapping an IRQ Jon Hunter 2016-04-20 11:03 ` Jon Hunter [not found] ` <1461150237-15580-7-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-21 15:45 ` Jon Hunter 2016-04-21 15:45 ` Jon Hunter [not found] ` <5718F593.40605-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 8:22 ` Marc Zyngier 2016-04-22 8:22 ` Marc Zyngier [not found] ` <5719DF5B.9010304-5wv7dgnIgG8@public.gmane.org> 2016-04-22 8:48 ` Jon Hunter 2016-04-22 8:48 ` Jon Hunter [not found] ` <5719E563.3010303-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 9:34 ` Marc Zyngier 2016-04-22 9:34 ` Marc Zyngier 2016-04-20 11:03 ` [PATCH V2 07/14] genirq: Add runtime power management support for IRQ chips Jon Hunter 2016-04-20 11:03 ` Jon Hunter [not found] ` <1461150237-15580-8-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-20 17:11 ` Kevin Hilman 2016-04-20 17:11 ` Kevin Hilman 2016-04-21 9:19 ` Jon Hunter 2016-04-21 9:19 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 08/14] irqchip/gic: Don't initialise chip if mapping IO space fails Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-20 11:03 ` Jon Hunter [this message] 2016-04-20 11:03 ` [PATCH V2 09/14] irqchip/gic: Remove static irq_chip definition for eoimode1 Jon Hunter 2016-04-20 11:03 ` [PATCH V2 10/14] irqchip/gic: Return an error if GIC initialisation fails Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 11/14] irqchip/gic: Pass GIC pointer to save/restore functions Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 12/14] irqchip/gic: Prepare for adding platform driver Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 13/14] dt-bindings: arm-gic: Add documentation for Tegra210 AGIC Jon Hunter 2016-04-20 11:03 ` Jon Hunter 2016-04-22 9:48 ` Marc Zyngier 2016-04-22 10:00 ` Mark Rutland 2016-04-22 11:12 ` Jon Hunter 2016-04-22 11:12 ` Jon Hunter [not found] ` <571A0739.3090502-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 11:22 ` Mark Rutland 2016-04-22 11:22 ` Mark Rutland 2016-04-22 14:57 ` Jon Hunter 2016-04-22 14:57 ` Jon Hunter 2016-04-27 15:34 ` Jon Hunter 2016-04-27 15:34 ` Jon Hunter [not found] ` <5720DC1D.1080802-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-27 17:38 ` Mark Rutland 2016-04-27 17:38 ` Mark Rutland 2016-04-27 18:02 ` Geert Uytterhoeven 2016-04-27 18:02 ` Geert Uytterhoeven 2016-04-28 8:11 ` Jon Hunter 2016-04-28 8:11 ` Jon Hunter 2016-04-28 8:31 ` Geert Uytterhoeven 2016-04-28 8:31 ` Geert Uytterhoeven [not found] ` <5721C597.1010105-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-28 9:55 ` Mark Rutland 2016-04-28 9:55 ` Mark Rutland 2016-05-06 8:32 ` Jon Hunter 2016-05-06 8:32 ` Jon Hunter [not found] ` <572C56A6.7020408-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-05-07 14:10 ` Geert Uytterhoeven 2016-05-07 14:10 ` Geert Uytterhoeven [not found] ` <CAMuHMdX+egbNPP4QQ2R28GbyVkg9qBrwYfUy8EE0PdB6od+LBg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2016-05-08 12:25 ` Jon Hunter 2016-05-08 12:25 ` Jon Hunter [not found] ` <572F302A.6010506-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-05-09 9:32 ` Marc Zyngier 2016-05-09 9:32 ` Marc Zyngier 2016-05-11 15:51 ` Rob Herring 2016-05-11 15:51 ` Rob Herring [not found] ` <CAL_Jsq+HSH7e1T9y47nHV_x5NvZ-52cfDEKKFkr16ax671FxSw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2016-05-11 16:08 ` Jon Hunter 2016-05-11 16:08 ` Jon Hunter 2016-05-11 16:10 ` Jon Hunter [not found] ` <573358F9.6000108-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-05-11 16:16 ` Jon Hunter 2016-05-11 16:16 ` Jon Hunter [not found] ` <57335AD3.7070109-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-05-11 16:30 ` Rob Herring 2016-05-11 16:30 ` Rob Herring [not found] ` <CAL_Jsq+ZhwUOSfQG-8V9xgxiXBj2j3Q6k48d=BWtWK9pEHH_MQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2016-05-11 16:53 ` Jon Hunter 2016-05-11 16:53 ` Jon Hunter [not found] ` <57336397.4000401-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-05-11 17:28 ` Mark Rutland 2016-05-11 17:28 ` Mark Rutland 2016-05-11 19:49 ` Jon Hunter 2016-04-20 11:03 ` [PATCH V2 14/14] irqchip/gic: Add support for tegra AGIC interrupt controller Jon Hunter 2016-04-20 11:03 ` Jon Hunter [not found] ` <1461150237-15580-15-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2016-04-22 9:57 ` Marc Zyngier 2016-04-22 9:57 ` Marc Zyngier 2016-04-22 10:21 ` Jon Hunter 2016-04-22 10:21 ` Jon Hunter
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1461150237-15580-10-git-send-email-jonathanh@nvidia.com \ --to=jonathanh@nvidia.com \ --cc=devicetree@vger.kernel.org \ --cc=galak@codeaurora.org \ --cc=geert@linux-m68k.org \ --cc=grygorii.strashko@ti.com \ --cc=ijc+devicetree@hellion.org.uk \ --cc=jason@lakedaemon.net \ --cc=khilman@kernel.org \ --cc=lars@metafoo.de \ --cc=linus.walleij@linaro.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=mark.rutland@arm.com \ --cc=pawel.moll@arm.com \ --cc=robh+dt@kernel.org \ --cc=swarren@wwwdotorg.org \ --cc=tglx@linutronix.de \ --cc=thierry.reding@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.