Skip to content

Commit

Permalink
ARM: plat-nomadik: pass IRQ to timer driver
Browse files Browse the repository at this point in the history
In order to convert the MTU timer to work with sparse IRQ we need
to pass the IRQ used when initializing instead of just letting
it rely on a special name being used in the IRQ header file.

Cc: Alessandro Rubini <rubini@unipv.it>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information
Linus Walleij committed Nov 5, 2012
1 parent b7a5bcd commit 0813069
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions arch/arm/mach-nomadik/board-nhk8815.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@
#include <asm/sizes.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/irq.h>
#include <asm/mach/flash.h>
#include <asm/mach/time.h>

#include <plat/mtu.h>

#include <linux/platform_data/mtd-nomadik-nand.h>
#include <mach/fsmc.h>
#include <mach/irqs.h>

#include "cpu-8815.h"

Expand Down Expand Up @@ -260,7 +260,7 @@ static void __init nomadik_timer_init(void)
src_cr |= SRC_CR_INIT_VAL;
writel(src_cr, io_p2v(NOMADIK_SRC_BASE));

nmdk_timer_init(io_p2v(NOMADIK_MTU0_BASE));
nmdk_timer_init(io_p2v(NOMADIK_MTU0_BASE), IRQ_MTU0);
}

static struct sys_timer nomadik_timer = {
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-ux500/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ static void __init ux500_timer_init(void)
*
*/

nmdk_timer_init(mtu_timer_base);
nmdk_timer_init(mtu_timer_base, IRQ_MTU0);
clksrc_dbx500_prcmu_init(prcmu_timer_base);
ux500_twd_init();
}
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/plat-nomadik/include/plat/mtu.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#ifndef __PLAT_MTU_H
#define __PLAT_MTU_H

void nmdk_timer_init(void __iomem *base);
void nmdk_timer_init(void __iomem *base, int irq);
void nmdk_clkevt_reset(void);
void nmdk_clksrc_reset(void);

Expand Down
4 changes: 2 additions & 2 deletions arch/arm/plat-nomadik/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ void nmdk_clksrc_reset(void)
mtu_base + MTU_CR(0));
}

void __init nmdk_timer_init(void __iomem *base)
void __init nmdk_timer_init(void __iomem *base, int irq)
{
unsigned long rate;
struct clk *clk0;
Expand Down Expand Up @@ -217,7 +217,7 @@ void __init nmdk_timer_init(void __iomem *base)
#endif

/* Timer 1 is used for events, register irq and clockevents */
setup_irq(IRQ_MTU0, &nmdk_timer_irq);
setup_irq(irq, &nmdk_timer_irq);
nmdk_clkevt.cpumask = cpumask_of(0);
clockevents_config_and_register(&nmdk_clkevt, rate, 2, 0xffffffffU);
}

0 comments on commit 0813069

Please sign in to comment.