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 7ca7dd20fb08eff6580dde5a046abdede9a90387..688f7ed1bab1e1590b4a1674f26598d9d58becfe 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 5fea1ee8799afed9a7a028450df90e6c897060e1..14eb01ef5d723c87780e85d9664f2b2c4b31d7cf 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 6aed0805927f8ea608e3bce754974d53a9bc372f..32383285da68315817041a36650b9e8e94048fff 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);