From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 3/3] [ARM] Allow boards to specify the exact number of IRQs needed
Date: Fri, 5 Feb 2010 08:14:14 +0000 [thread overview]
Message-ID: <20100205081413.GF13267@trinity.fluff.org> (raw)
In-Reply-To: <f17812d71002041112x6f8308b5q6bc37f6608a3efc9@mail.gmail.com>
On Thu, Feb 04, 2010 at 11:12:37AM -0800, Eric Miao wrote:
> commit 988a6a2bd322d83eba42c05cb6cb77a74cba056b
> Author: Eric Miao <eric.y.miao@gmail.com>
> Date: Thu Feb 4 11:06:35 2010 -0800
>
> [ARM] Allow boards to specify the exact number of IRQs needed
>
> This will only take effect if SPARSE_IRQ is enabled, any board that
> depends on this _only_ has to explicitly select SPARSE_IRQ.
>
> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Is this going to cause errors when the core support tries to register
irq chips over the number that the board itself supports?
> diff --git a/arch/arm/include/asm/irq.h b/arch/arm/include/asm/irq.h
> index a1ea728..825ee34 100644
> --- a/arch/arm/include/asm/irq.h
> +++ b/arch/arm/include/asm/irq.h
> @@ -19,6 +19,7 @@
>
> #ifndef __ASSEMBLY__
> struct irqaction;
> +extern int arch_nr_irqs;
> extern void migrate_irqs(void);
>
> extern void asm_do_IRQ(unsigned int, struct pt_regs *);
> diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
> index c59842d..a9128b4 100644
> --- a/arch/arm/include/asm/mach/arch.h
> +++ b/arch/arm/include/asm/mach/arch.h
> @@ -20,6 +20,7 @@ struct machine_desc {
> * by assembler code in head.S, head-common.S
> */
> unsigned int nr; /* architecture number */
> + unsigned int num_irqs; /* number of IRQs */
> unsigned int phys_io; /* start of physical io */
> unsigned int io_pg_offst; /* byte offset for io
> * page tabe entry */
> diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
> index e62f39b..e23d248 100644
> --- a/arch/arm/kernel/irq.c
> +++ b/arch/arm/kernel/irq.c
> @@ -168,7 +168,7 @@ void __init init_IRQ(void)
> #ifdef CONFIG_SPARSE_IRQ
> int __init arch_probe_nr_irqs(void)
> {
> - nr_irqs = NR_IRQS;
> + nr_irqs = arch_nr_irqs ? arch_nr_irqs : NR_IRQS;
> return 0;
> }
> #endif
> diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
> index c6c57b6..803ed95 100644
> --- a/arch/arm/kernel/setup.c
> +++ b/arch/arm/kernel/setup.c
> @@ -755,6 +755,7 @@ void __init setup_arch(char **cmdline_p)
> /*
> * Set up various architecture-specific pointers
> */
> + arch_nr_irqs = mdesc->num_irqs;
> init_arch_irq = mdesc->init_irq;
> system_timer = mdesc->timer;
> init_machine = mdesc->init_machine;
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
next prev parent reply other threads:[~2010-02-05 8:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-04 19:12 [RFC PATCH 3/3] [ARM] Allow boards to specify the exact number of IRQs needed Eric Miao
2010-02-05 8:14 ` Ben Dooks [this message]
2010-02-05 8:30 ` Ben Dooks
2010-02-05 9:50 ` Eric Miao
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=20100205081413.GF13267@trinity.fluff.org \
--to=ben-linux@fluff.org \
--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.