OSDN Git Service

sh: intc: Kill off special reservation interface.
authorPaul Mundt <lethal@linux-sh.org>
Tue, 22 May 2012 10:07:55 +0000 (19:07 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 22 May 2012 10:07:55 +0000 (19:07 +0900)
At present reserving the IRLs in the IRQ bitmap in addition to the
dropping of the legacy IRQ pre-allocation prevent IRL IRQs from being
allocated for the x3proto board.

The only reason to permit reservations was to lock down possible hardware
vectors prior to dynamic IRQ scanning, but this doesn't matter much given
that the hardware controller configuration is sorted before we get around
to doing any dynamic IRQ allocation anyways. Beyond that, all of the
tables are __init annotated, so quite a bit more work would need to be
done to support reconfiguring things like IRL controllers on the fly,
much more than would ever make it worth the hassle.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/cpu/sh4a/setup-shx3.c
drivers/sh/intc/dynamic.c
include/linux/sh_intc.h

index 7ca7dd2..688f7ed 100644 (file)
@@ -494,9 +494,6 @@ void __init plat_irq_setup_pins(int mode)
 
 void __init plat_irq_setup(void)
 {
-       reserve_intc_vectors(vectors_irq, ARRAY_SIZE(vectors_irq));
-       reserve_intc_vectors(vectors_irl, ARRAY_SIZE(vectors_irl));
-
        register_intc_controller(&intc_desc);
 }
 
index 5fea1ee..14eb01e 100644 (file)
@@ -55,11 +55,3 @@ void destroy_irq(unsigned int irq)
 {
        irq_free_desc(irq);
 }
-
-void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs)
-{
-       int i;
-
-       for (i = 0; i < nr_vecs; i++)
-               irq_reserve_irq(evt2irq(vectors[i].vect));
-}
index 6aed080..3238328 100644 (file)
@@ -133,7 +133,6 @@ struct intc_desc symbol __initdata = {                                      \
 }
 
 int register_intc_controller(struct intc_desc *desc);
-void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs);
 int intc_set_priority(unsigned int irq, unsigned int prio);
 int intc_irq_lookup(const char *chipname, intc_enum enum_id);
 void intc_finalize(void);