From 417528a2e35f46bc42721de5c4efd33a0eba019d Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 20 Nov 2006 11:18:30 +0900 Subject: [PATCH] sh: Configurable timer IRQ. All of the various CPU subtypes currently hardcode TIMER_IRQ, switch this to a config option in the few places we need this. This allows further removal of hardcoded IRQ headers.. Signed-off-by: Paul Mundt --- arch/sh/Kconfig | 7 +++++++ arch/sh/kernel/cpu/sh4/setup-sh7780.c | 2 +- arch/sh/kernel/timers/timer-cmt.c | 2 +- arch/sh/kernel/timers/timer-mtu2.c | 2 +- arch/sh/kernel/timers/timer-tmu.c | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index ba7a150..b95dbb8 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -405,6 +405,13 @@ source "arch/sh/boards/renesas/rts7751r2d/Kconfig" source "arch/sh/boards/renesas/r7780rp/Kconfig" +config SH_TIMER_IRQ + int + default "28" if CPU_SUBTYPE_SH7780 + default "86" if CPU_SUBTYPE_SH7619 + default "140" if CPU_SUBTYPE_SH7206 + default "16" + config SH_PCLK_FREQ int "Peripheral clock frequency (in Hz)" default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343 diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7780.c b/arch/sh/kernel/cpu/sh4/setup-sh7780.c index 814ddb2..4a2b9e0 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7780.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7780.c @@ -79,7 +79,7 @@ static int __init sh7780_devices_setup(void) __initcall(sh7780_devices_setup); static struct intc2_data intc2_irq_table[] = { - { TIMER_IRQ, 0, 24, 0, INTC_TMU0_MSK, 2 }, + { 28, 0, 24, 0, INTC_TMU0_MSK, 2 }, { 21, 1, 0, 0, INTC_RTC_MSK, TIMER_PRIORITY }, { 22, 1, 1, 0, INTC_RTC_MSK, TIMER_PRIORITY }, { 23, 1, 2, 0, INTC_RTC_MSK, TIMER_PRIORITY }, diff --git a/arch/sh/kernel/timers/timer-cmt.c b/arch/sh/kernel/timers/timer-cmt.c index 3068738..24b0399 100644 --- a/arch/sh/kernel/timers/timer-cmt.c +++ b/arch/sh/kernel/timers/timer-cmt.c @@ -169,7 +169,7 @@ static int cmt_timer_init(void) cmt_clock_enable(); - setup_irq(TIMER_IRQ, &cmt_irq); + setup_irq(CONFIG_SH_TIMER_IRQ, &cmt_irq); cmt0_clk.parent = clk_get("module_clk"); diff --git a/arch/sh/kernel/timers/timer-mtu2.c b/arch/sh/kernel/timers/timer-mtu2.c index 045b2ab..92c98b5 100644 --- a/arch/sh/kernel/timers/timer-mtu2.c +++ b/arch/sh/kernel/timers/timer-mtu2.c @@ -167,7 +167,7 @@ static int mtu2_timer_init(void) u8 tmp; unsigned long interval; - setup_irq(TIMER_IRQ, &mtu2_irq); + setup_irq(CONFIG_SH_TIMER_IRQ, &mtu2_irq); mtu2_clk1.parent = clk_get("module_clk"); diff --git a/arch/sh/kernel/timers/timer-tmu.c b/arch/sh/kernel/timers/timer-tmu.c index 2492701..06a70db 100644 --- a/arch/sh/kernel/timers/timer-tmu.c +++ b/arch/sh/kernel/timers/timer-tmu.c @@ -149,7 +149,7 @@ static int tmu_timer_init(void) { unsigned long interval; - setup_irq(TIMER_IRQ, &tmu_irq); + setup_irq(CONFIG_SH_TIMER_IRQ, &tmu_irq); tmu0_clk.parent = clk_get("module_clk"); -- 2.7.4