sh: IPR/INTC2 IRQ setup consolidation.
authorMagnus Damm <damm@igel.co.jp>
Wed, 18 Jul 2007 08:57:34 +0000 (17:57 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 20 Jul 2007 03:18:20 +0000 (12:18 +0900)
This patch unifies the cpu specific interrupt setup functions for
interrupt controller blocks such as ipr, intc2 and intc. There is no
point in having separate functions for each interrupt controller, so
let's clean this up.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
13 files changed:
arch/sh/kernel/cpu/sh2/setup-sh7619.c
arch/sh/kernel/cpu/sh2a/setup-sh7206.c
arch/sh/kernel/cpu/sh3/setup-sh7705.c
arch/sh/kernel/cpu/sh3/setup-sh7709.c
arch/sh/kernel/cpu/sh3/setup-sh7710.c
arch/sh/kernel/cpu/sh4/setup-sh7750.c
arch/sh/kernel/cpu/sh4/setup-sh7760.c
arch/sh/kernel/cpu/sh4a/setup-sh7722.c
arch/sh/kernel/cpu/sh4a/setup-sh7780.c
arch/sh/kernel/cpu/sh4a/setup-sh7785.c
arch/sh/kernel/cpu/sh4a/setup-shx3.c
arch/sh/kernel/irq.c
include/asm-sh/hw_irq.h

index 1a107fe22dde3b1b33ed3eb5b5a0c1c8b8d8c23d..a979b981e6a38cc85fe93c673432ef23fa264560 100644 (file)
@@ -88,7 +88,7 @@ static struct ipr_desc ipr_irq_desc = {
        },
 };
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_ipr_controller(&ipr_irq_desc);
 }
index b6e3a6351fa6fb72b32e739ffd0ecb03a266cfe7..deab16500167c79fdd1fcec616ffc19f01114275 100644 (file)
@@ -107,7 +107,7 @@ static struct ipr_desc ipr_irq_desc = {
        },
 };
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_ipr_controller(&ipr_irq_desc);
 }
index a55b8ce2c54c46e156319f674928e36f07bd7f15..ebd9d06d8bdd10bb7454c62533ddcd467d451c54 100644 (file)
@@ -92,7 +92,7 @@ static struct ipr_desc ipr_irq_desc = {
        },
 };
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_ipr_controller(&ipr_irq_desc);
 }
index d79ec0c0522fb33121023cc70f1d9c285a83140b..086f8e2545afc1bfdb02778a2266e34a2f1a4195 100644 (file)
@@ -139,7 +139,7 @@ static struct ipr_desc ipr_irq_desc = {
        },
 };
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_ipr_controller(&ipr_irq_desc);
 }
index f40e6dac337d91602b860890bd3d6f444106a6f6..1322848933736d49aea74f268215d283be8b5d9b 100644 (file)
@@ -101,7 +101,7 @@ static struct ipr_desc ipr_irq_desc = {
        },
 };
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_ipr_controller(&ipr_irq_desc);
 }
index da153bcdfeb2b0a6c27af5e1c22e43f344341826..b0cd6e0b8539f6d8107ad35c499cc1f84accc78c 100644 (file)
@@ -151,7 +151,7 @@ static struct ipr_desc ipr_irq_desc_sh7751 = {
 };
 #endif
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_ipr_controller(&ipr_irq_desc);
 #ifdef CONFIG_CPU_SUBTYPE_SH7751
index 3df169755673da10c15fcf1677e2f9dab74b0105..47fa270562537360d860d7adfea51b7d16d942d9 100644 (file)
@@ -109,11 +109,6 @@ static struct intc2_desc intc2_irq_desc __read_mostly = {
        },
 };
 
-void __init init_IRQ_intc2(void)
-{
-       register_intc2_controller(&intc2_irq_desc);
-}
-
 static struct ipr_data ipr_irq_table[] = {
        /* IRQ, IPR-idx, shift, priority */
        { 16, 0, 12, 2 }, /* TMU0 TUNI*/
@@ -163,7 +158,8 @@ static struct ipr_desc ipr_irq_desc = {
        },
 };
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
+       register_intc2_controller(&intc2_irq_desc);
        register_ipr_controller(&ipr_irq_desc);
 }
index 9d87e36a4af059028d3ab6cd785396f2574e345f..25b913e07e2ca3984e066c43987fe0101082723c 100644 (file)
@@ -193,7 +193,7 @@ static struct intc_sense_reg sense_registers[] = {
 static DECLARE_INTC_DESC(intc_desc, "sh7722", vectors, groups, priorities,
                         mask_registers, prio_registers, sense_registers);
 
-void __init init_IRQ_ipr(void)
+void __init plat_irq_setup(void)
 {
        register_intc_controller(&intc_desc);
 }
index b57c760bffde4abdc6af3505a864eda18f4a4f2f..86cd6281fa4d4a72927175bdf4f0dd1f3d691ef5 100644 (file)
@@ -115,7 +115,7 @@ static struct intc2_desc intc2_irq_desc __read_mostly = {
        },
 };
 
-void __init init_IRQ_intc2(void)
+void __init plat_irq_setup(void)
 {
        register_intc2_controller(&intc2_irq_desc);
 }
index ce10ec5d6914dcd55e2fecc608338d5968e57820..cf047562e43fd59fd60b4aa90acd0fb5497122be 100644 (file)
@@ -110,7 +110,7 @@ static struct intc2_desc intc2_irq_desc __read_mostly = {
        },
 };
 
-void __init init_IRQ_intc2(void)
+void __init plat_irq_setup(void)
 {
        register_intc2_controller(&intc2_irq_desc);
 }
index 70683ea12b83049368f6983c62124ac7c1c10947..704c064f70dc90ad58f5f7ef25843845b5d9ca2c 100644 (file)
@@ -79,7 +79,7 @@ static struct intc2_desc intc2_irq_desc __read_mostly = {
        },
 };
 
-void __init init_IRQ_intc2(void)
+void __init plat_irq_setup(void)
 {
        register_intc2_controller(&intc2_irq_desc);
 }
index 27897798867a40d47e22ca5d2db72c0a2f48205d..03404987528dd083970977dfde5379c2bca67d8c 100644 (file)
@@ -253,14 +253,7 @@ void __init init_IRQ(void)
 #ifdef CONFIG_CPU_HAS_PINT_IRQ
        init_IRQ_pint();
 #endif
-
-#ifdef CONFIG_CPU_HAS_INTC2_IRQ
-       init_IRQ_intc2();
-#endif
-
-#ifdef CONFIG_CPU_HAS_IPR_IRQ
-       init_IRQ_ipr();
-#endif
+       plat_irq_setup();
 
        /* Perform the machine specific initialisation */
        if (sh_mv.mv_init_irq)
index 6c21cf0dd51f1bb6dc1d7b34c975888c3ecec248..92c9efd9276c801b2bddb93da06347a07c4a250e 100644 (file)
@@ -23,7 +23,6 @@ struct intc2_desc {
 };
 
 void register_intc2_controller(struct intc2_desc *);
-void init_IRQ_intc2(void);
 
 struct ipr_data {
        unsigned char irq;
@@ -41,7 +40,6 @@ struct ipr_desc {
 };
 
 void register_ipr_controller(struct ipr_desc *);
-void init_IRQ_ipr(void);
 
 /*
  * Enable individual interrupt mode for external IPR IRQs.
@@ -115,4 +113,6 @@ struct intc_desc symbol = {                                         \
 
 void __init register_intc_controller(struct intc_desc *desc);
 
+void __init plat_irq_setup(void);
+
 #endif /* __ASM_SH_HW_IRQ_H */