From: Jon Hunter <jonathanh@nvidia.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V2 1/2] irqchip/gic: Remove static irq_chip definition for eoimode1
Date: Mon, 11 Jan 2016 10:14:07 +0000 [thread overview]
Message-ID: <5693806F.7040100@nvidia.com> (raw)
In-Reply-To: <1450786176-2311-1-git-send-email-jonathanh@nvidia.com>
Hi Mark,
Any comment on these patches?
Cheers
Jon
On 22/12/15 12:09, Jon Hunter wrote:
> 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>
> ---
> drivers/irqchip/irq-gic.c | 26 +++++---------------------
> 1 file changed, 5 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> index fcbe0b90870d..94ad60c424a7 100644
> --- a/drivers/irqchip/irq-gic.c
> +++ b/drivers/irqchip/irq-gic.c
> @@ -394,23 +394,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,
> -#ifdef CONFIG_SMP
> - .irq_set_affinity = gic_set_affinity,
> -#endif
> - .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);
> @@ -1030,13 +1013,14 @@ static void __init __gic_init_bases(unsigned int gic_nr, int irq_start,
> gic_check_cpu_features();
>
> gic = &gic_data[gic_nr];
> + gic->chip = gic_chip;
> + gic->chip.name = kasprintf(GFP_KERNEL, "GIC-%d", gic_nr);
>
> /* Initialize irq_chip */
> if (static_key_true(&supports_deactivate) && gic_nr == 0) {
> - gic->chip = gic_eoimode1_chip;
> - } else {
> - gic->chip = gic_chip;
> - gic->chip.name = kasprintf(GFP_KERNEL, "GIC-%d", gic_nr);
> + 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;
> }
>
> #ifdef CONFIG_GIC_NON_BANKED
>
next prev parent reply other threads:[~2016-01-11 10:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 12:09 [PATCH V2 1/2] irqchip/gic: Remove static irq_chip definition for eoimode1 Jon Hunter
2015-12-22 12:09 ` [PATCH V2 2/2] irqchip/gic: Only populate set_affinity for the root controller Jon Hunter
2016-01-11 10:14 ` Jon Hunter [this message]
2016-01-11 10:44 ` [PATCH V2 1/2] irqchip/gic: Remove static irq_chip definition for eoimode1 Marc Zyngier
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=5693806F.7040100@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=jason@lakedaemon.net \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=tglx@linutronix.de \
/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: link
Be 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.