From: ludovic.desroches@atmel.com (ludovic.desroches)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/8] ARM: at91: fix external interrupts in non-DT case
Date: Wed, 24 Oct 2012 17:58:26 +0200 [thread overview]
Message-ID: <50881022.4060203@atmel.com> (raw)
In-Reply-To: <d431a4eca966e5faf17cc3c3af2fe1653bf2f2c5.1351092432.git.nicolas.ferre@atmel.com>
Le 10/24/2012 05:33 PM, Nicolas Ferre a ?crit :
> Management of external interrupts has changed but the
> non-DT code has not integrated these changes.
> Add a mask to pass external irq specification from SoC
> specific code to the at91_aic_init() function.
>
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-By: Ludovic Desroches <ludovic.desroches@atmel.com>
> Cc: stable <stable@vger.kernel.org> [v3.6]
> ---
> arch/arm/mach-at91/generic.h | 3 ++-
> arch/arm/mach-at91/irq.c | 9 +++++++--
> arch/arm/mach-at91/setup.c | 2 +-
> 3 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h
> index f496506..b62f560e 100644
> --- a/arch/arm/mach-at91/generic.h
> +++ b/arch/arm/mach-at91/generic.h
> @@ -26,7 +26,8 @@ extern void __init at91_dt_initialize(void);
> extern void __init at91_init_irq_default(void);
> extern void __init at91_init_interrupts(unsigned int priority[]);
> extern void __init at91x40_init_interrupts(unsigned int priority[]);
> -extern void __init at91_aic_init(unsigned int priority[]);
> +extern void __init at91_aic_init(unsigned int priority[],
> + unsigned int ext_irq_mask);
> extern int __init at91_aic_of_init(struct device_node *node,
> struct device_node *parent);
> extern int __init at91_aic5_of_init(struct device_node *node,
> diff --git a/arch/arm/mach-at91/irq.c b/arch/arm/mach-at91/irq.c
> index 1e02c0e..febc2ee 100644
> --- a/arch/arm/mach-at91/irq.c
> +++ b/arch/arm/mach-at91/irq.c
> @@ -502,14 +502,19 @@ int __init at91_aic5_of_init(struct device_node *node,
> /*
> * Initialize the AIC interrupt controller.
> */
> -void __init at91_aic_init(unsigned int *priority)
> +void __init at91_aic_init(unsigned int *priority, unsigned int ext_irq_mask)
> {
> unsigned int i;
> int irq_base;
>
> - if (at91_aic_pm_init())
> + at91_extern_irq = kzalloc(BITS_TO_LONGS(n_irqs)
> + * sizeof(*at91_extern_irq), GFP_KERNEL);
> +
> + if (at91_aic_pm_init() || at91_extern_irq == NULL)
> panic("Unable to allocate bit maps\n");
>
> + *at91_extern_irq = ext_irq_mask;
> +
> at91_aic_base = ioremap(AT91_AIC, 512);
> if (!at91_aic_base)
> panic("Unable to ioremap AIC registers\n");
> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
> index 6a3d4bb..0b32c81 100644
> --- a/arch/arm/mach-at91/setup.c
> +++ b/arch/arm/mach-at91/setup.c
> @@ -47,7 +47,7 @@ void __init at91_init_irq_default(void)
> void __init at91_init_interrupts(unsigned int *priority)
> {
> /* Initialize the AIC interrupt controller */
> - at91_aic_init(priority);
> + at91_aic_init(priority, at91_extern_irq);
>
> /* Enable GPIO interrupts */
> at91_gpio_irq_setup();
>
next prev parent reply other threads:[~2012-10-24 15:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-24 15:33 [PATCH 0/8] at91: 3.7 fixes patch series Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:33 ` [PATCH 1/8] ARM: at91/tc: fix typo in the DT document Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:33 ` [PATCH 2/8] ARM: at91: at91sam9g10: fix SOC type detection Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:33 ` [PATCH 3/8] ARM: at91: fix external interrupts in non-DT case Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:58 ` ludovic.desroches [this message]
2012-10-24 15:33 ` [PATCH 4/8] ARM: at91: fix external interrupt specification in board code Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:58 ` ludovic.desroches
2012-10-24 15:33 ` [PATCH 5/8] ARM: at91/dts: at91sam9g20ek_common: Fix typos in buttons labels Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:33 ` [PATCH 6/8] ARM: at91/i2c: change id to let i2c-gpio work Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:59 ` ludovic.desroches
2012-10-24 15:33 ` [PATCH 7/8] ARM: at91/i2c: change id to let i2c-at91 work Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:59 ` ludovic.desroches
2012-10-24 15:33 ` [PATCH 8/8] ARM: at91: drop duplicated config SOC_AT91SAM9 entry Nicolas Ferre
2012-10-24 15:33 ` Nicolas Ferre
2012-10-24 15:44 ` [PATCH 0/8] at91: 3.7 fixes patch series Jean-Christophe PLAGNIOL-VILLARD
2012-10-24 15:44 ` Jean-Christophe PLAGNIOL-VILLARD
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=50881022.4060203@atmel.com \
--to=ludovic.desroches@atmel.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.