diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 15:02:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 15:02:27 -0400 |
commit | 1fdb24e969110fafea36d3b393bea438f702c87f (patch) | |
tree | 47a1dfef8a259e7922285315f8a02d31b4efe2f1 /arch/arm/kernel/smp.c | |
parent | f362f98e7c445643d27c610bb7a86b79727b592e (diff) | |
parent | 531a6a941745e1e045dd2a6bd09e1dc01247a5f3 (diff) |
Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
* 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)
ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
ARM: gic, local timers: use the request_percpu_irq() interface
ARM: gic: consolidate PPI handling
ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H
ARM: mach-s5p64x0: remove mach/memory.h
ARM: mach-s3c64xx: remove mach/memory.h
ARM: plat-mxc: remove mach/memory.h
ARM: mach-prima2: remove mach/memory.h
ARM: mach-zynq: remove mach/memory.h
ARM: mach-bcmring: remove mach/memory.h
ARM: mach-davinci: remove mach/memory.h
ARM: mach-pxa: remove mach/memory.h
ARM: mach-ixp4xx: remove mach/memory.h
ARM: mach-h720x: remove mach/memory.h
ARM: mach-vt8500: remove mach/memory.h
ARM: mach-s5pc100: remove mach/memory.h
ARM: mach-tegra: remove mach/memory.h
ARM: plat-tcc: remove mach/memory.h
ARM: mach-mmp: remove mach/memory.h
ARM: mach-cns3xxx: remove mach/memory.h
...
Fix up mostly pretty trivial conflicts in:
- arch/arm/Kconfig
- arch/arm/include/asm/localtimer.h
- arch/arm/kernel/Makefile
- arch/arm/mach-shmobile/board-ap4evb.c
- arch/arm/mach-u300/core.c
- arch/arm/mm/dma-mapping.c
- arch/arm/mm/proc-v7.S
- arch/arm/plat-omap/Kconfig
largely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP ->
CONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and
addition of NEED_MACH_MEMORY_H next to HAVE_IDE.
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r-- | arch/arm/kernel/smp.c | 38 |
1 files changed, 1 insertions, 37 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 94f34a6c8610..ef5640b9e218 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -460,10 +460,6 @@ u64 smp_irq_stat_cpu(unsigned int cpu) | |||
460 | for (i = 0; i < NR_IPI; i++) | 460 | for (i = 0; i < NR_IPI; i++) |
461 | sum += __get_irq_stat(cpu, ipi_irqs[i]); | 461 | sum += __get_irq_stat(cpu, ipi_irqs[i]); |
462 | 462 | ||
463 | #ifdef CONFIG_LOCAL_TIMERS | ||
464 | sum += __get_irq_stat(cpu, local_timer_irqs); | ||
465 | #endif | ||
466 | |||
467 | return sum; | 463 | return sum; |
468 | } | 464 | } |
469 | 465 | ||
@@ -480,38 +476,6 @@ static void ipi_timer(void) | |||
480 | irq_exit(); | 476 | irq_exit(); |
481 | } | 477 | } |
482 | 478 | ||
483 | #ifdef CONFIG_LOCAL_TIMERS | ||
484 | asmlinkage void __exception_irq_entry do_local_timer(struct pt_regs *regs) | ||
485 | { | ||
486 | handle_local_timer(regs); | ||
487 | } | ||
488 | |||
489 | void handle_local_timer(struct pt_regs *regs) | ||
490 | { | ||
491 | struct pt_regs *old_regs = set_irq_regs(regs); | ||
492 | int cpu = smp_processor_id(); | ||
493 | |||
494 | if (local_timer_ack()) { | ||
495 | __inc_irq_stat(cpu, local_timer_irqs); | ||
496 | ipi_timer(); | ||
497 | } | ||
498 | |||
499 | set_irq_regs(old_regs); | ||
500 | } | ||
501 | |||
502 | void show_local_irqs(struct seq_file *p, int prec) | ||
503 | { | ||
504 | unsigned int cpu; | ||
505 | |||
506 | seq_printf(p, "%*s: ", prec, "LOC"); | ||
507 | |||
508 | for_each_present_cpu(cpu) | ||
509 | seq_printf(p, "%10u ", __get_irq_stat(cpu, local_timer_irqs)); | ||
510 | |||
511 | seq_printf(p, " Local timer interrupts\n"); | ||
512 | } | ||
513 | #endif | ||
514 | |||
515 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | 479 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST |
516 | static void smp_timer_broadcast(const struct cpumask *mask) | 480 | static void smp_timer_broadcast(const struct cpumask *mask) |
517 | { | 481 | { |
@@ -562,7 +526,7 @@ static void percpu_timer_stop(void) | |||
562 | unsigned int cpu = smp_processor_id(); | 526 | unsigned int cpu = smp_processor_id(); |
563 | struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu); | 527 | struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu); |
564 | 528 | ||
565 | evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt); | 529 | local_timer_stop(evt); |
566 | } | 530 | } |
567 | #endif | 531 | #endif |
568 | 532 | ||