aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/devboards/pb1500/board_setup.c
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2009-10-04 14:55:26 +0200
committerRalf Baechle <ralf@linux-mips.org>2010-02-27 12:52:50 +0100
commit7e50b2b741bb4f9dbddc9f56972ef82a7d4b33ed (patch)
tree3302cb551b83f715827e967e3f8fd7188d952b91 /arch/mips/alchemy/devboards/pb1500/board_setup.c
parent95a437966dba642870a93d16bf82af8926bb2082 (diff)
downloadkernel_samsung_smdk4412-7e50b2b741bb4f9dbddc9f56972ef82a7d4b33ed.zip
kernel_samsung_smdk4412-7e50b2b741bb4f9dbddc9f56972ef82a7d4b33ed.tar.gz
kernel_samsung_smdk4412-7e50b2b741bb4f9dbddc9f56972ef82a7d4b33ed.tar.bz2
MIPS: Alchemy: remove board_init_irq() function.
remove board_init_irq(): On all in-kernel boards it is sufficient to initialize board interrupts in an arch_initcall by using the default linux irq functions. Some small irqmap.c files have been folded into board_setup files. Run-tested on DB1200; compile-tested on all other affected boards. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/devboards/pb1500/board_setup.c')
-rw-r--r--arch/mips/alchemy/devboards/pb1500/board_setup.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/arch/mips/alchemy/devboards/pb1500/board_setup.c b/arch/mips/alchemy/devboards/pb1500/board_setup.c
index c5389e5..bf8e149 100644
--- a/arch/mips/alchemy/devboards/pb1500/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1500/board_setup.c
@@ -40,14 +40,6 @@ char irq_tab_alchemy[][5] __initdata = {
[13] = { -1, INTA, INTB, INTC, INTD }, /* IDSEL 13 - PCI slot */
};
-struct au1xxx_irqmap __initdata au1xxx_irq_map[] = {
- { AU1500_GPIO_204, IRQF_TRIGGER_HIGH, 0 },
- { AU1500_GPIO_201, IRQF_TRIGGER_LOW, 0 },
- { AU1500_GPIO_202, IRQF_TRIGGER_LOW, 0 },
- { AU1500_GPIO_203, IRQF_TRIGGER_LOW, 0 },
- { AU1500_GPIO_205, IRQF_TRIGGER_LOW, 0 },
-};
-
const char *get_system_type(void)
{
@@ -59,11 +51,6 @@ void board_reset(void)
bcsr_write(BCSR_SYSTEM, 0);
}
-void __init board_init_irq(void)
-{
- au1xxx_setup_irqmap(au1xxx_irq_map, ARRAY_SIZE(au1xxx_irq_map));
-}
-
void __init board_setup(void)
{
u32 pin_func;
@@ -166,3 +153,15 @@ void __init board_setup(void)
au_sync();
}
}
+
+static int __init pb1500_init_irq(void)
+{
+ set_irq_type(AU1500_GPIO_204, IRQF_TRIGGER_HIGH);
+ set_irq_type(AU1500_GPIO_201, IRQF_TRIGGER_LOW);
+ set_irq_type(AU1500_GPIO_202, IRQF_TRIGGER_LOW);
+ set_irq_type(AU1500_GPIO_203, IRQF_TRIGGER_LOW);
+ set_irq_type(AU1500_GPIO_205, IRQF_TRIGGER_LOW);
+
+ return 0;
+}
+arch_initcall(pb1500_init_irq);