ARM: 7124/1: smp: Add a localtimer handler callable from C code
In order to be able to handle localtimer directly from C code instead of assembly code, introduce handle_local_timer(), which is modeled after handle_IRQ(). Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
0b5a1b95dc
commit
0af8aa0069
@ -22,6 +22,10 @@ void percpu_timer_setup(void);
|
|||||||
*/
|
*/
|
||||||
asmlinkage void do_local_timer(struct pt_regs *);
|
asmlinkage void do_local_timer(struct pt_regs *);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Called from C code
|
||||||
|
*/
|
||||||
|
void handle_local_timer(struct pt_regs *);
|
||||||
|
|
||||||
#ifdef CONFIG_LOCAL_TIMERS
|
#ifdef CONFIG_LOCAL_TIMERS
|
||||||
|
|
||||||
|
@ -479,6 +479,11 @@ static void ipi_timer(void)
|
|||||||
|
|
||||||
#ifdef CONFIG_LOCAL_TIMERS
|
#ifdef CONFIG_LOCAL_TIMERS
|
||||||
asmlinkage void __exception_irq_entry do_local_timer(struct pt_regs *regs)
|
asmlinkage void __exception_irq_entry do_local_timer(struct pt_regs *regs)
|
||||||
|
{
|
||||||
|
handle_local_timer(regs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void handle_local_timer(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||||
int cpu = smp_processor_id();
|
int cpu = smp_processor_id();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user