Signed-off-by: Thomas Gleixner --- arch/arm/common/timer-sp.c | 4 - arch/arm/mach-integrator/integrator_cp.c | 5 - arch/arm/mach-realview/core.c | 3 - arch/arm/mach-versatile/core.c | 3 - arch/arm/mach-vexpress/v2m.c | 3 - arch/arm/plat-versatile/Kconfig | 4 - arch/arm/plat-versatile/Makefile | 1 arch/arm/plat-versatile/include/plat/sched_clock.h | 6 -- arch/arm/plat-versatile/sched-clock.c | 58 --------------------- 9 files changed, 2 insertions(+), 85 deletions(-) Index: linux-2.6-tip/arch/arm/common/timer-sp.c =================================================================== --- linux-2.6-tip.orig/arch/arm/common/timer-sp.c +++ linux-2.6-tip/arch/arm/common/timer-sp.c @@ -34,7 +34,7 @@ static void __iomem *clksrc_base; -static cycle_t sp804_read(struct clocksource *cs) +static cycle_t notrace sp804_read(struct clocksource *cs) { return ~readl(clksrc_base + TIMER_VALUE); } @@ -44,7 +44,7 @@ static struct clocksource clocksource_sp .rating = 200, .read = sp804_read, .mask = CLOCKSOURCE_MASK(32), - .flags = CLOCK_SOURCE_IS_CONTINUOUS, + .flags = CLOCK_SOURCE_IS_CONTINUOUS | CLOCK_SOURCE_SCHED_CLOCK, }; void __init sp804_clocksource_init(void __iomem *base) Index: linux-2.6-tip/arch/arm/mach-integrator/integrator_cp.c =================================================================== --- linux-2.6-tip.orig/arch/arm/mach-integrator/integrator_cp.c +++ linux-2.6-tip/arch/arm/mach-integrator/integrator_cp.c @@ -44,7 +44,6 @@ #include #include -#include #include "common.h" @@ -448,10 +447,6 @@ static void __init intcp_init_early(void clkdev_add_table(cp_lookups, ARRAY_SIZE(cp_lookups)); integrator_init_early(); - -#ifdef CONFIG_PLAT_VERSATILE_SCHED_CLOCK - versatile_sched_clock_init(REFCOUNTER, 24000000); -#endif } static void __init intcp_init(void) Index: linux-2.6-tip/arch/arm/mach-realview/core.c =================================================================== --- linux-2.6-tip.orig/arch/arm/mach-realview/core.c +++ linux-2.6-tip/arch/arm/mach-realview/core.c @@ -52,7 +52,6 @@ #include #include -#include #include "core.h" @@ -370,8 +369,6 @@ void __init realview_init_early(void) oscvco_clk.vcoreg = sys + REALVIEW_SYS_OSC4_OFFSET; clkdev_add_table(lookups, ARRAY_SIZE(lookups)); - - versatile_sched_clock_init(sys + REALVIEW_SYS_24MHz_OFFSET, 24000000); } /* Index: linux-2.6-tip/arch/arm/mach-versatile/core.c =================================================================== --- linux-2.6-tip.orig/arch/arm/mach-versatile/core.c +++ linux-2.6-tip/arch/arm/mach-versatile/core.c @@ -52,7 +52,6 @@ #include #include -#include #include "core.h" @@ -706,8 +705,6 @@ void __init versatile_init_early(void) osc4_clk.vcoreg = sys + VERSATILE_SYS_OSCCLCD_OFFSET; clkdev_add_table(lookups, ARRAY_SIZE(lookups)); - - versatile_sched_clock_init(sys + VERSATILE_SYS_24MHz_OFFSET, 24000000); } void __init versatile_init(void) Index: linux-2.6-tip/arch/arm/mach-vexpress/v2m.c =================================================================== --- linux-2.6-tip.orig/arch/arm/mach-vexpress/v2m.c +++ linux-2.6-tip/arch/arm/mach-vexpress/v2m.c @@ -27,8 +27,6 @@ #include #include -#include - #include "core.h" #define V2M_PA_CS0 0x40000000 @@ -49,7 +47,6 @@ static struct map_desc v2m_io_desc[] __i static void __init v2m_init_early(void) { ct_desc->init_early(); - versatile_sched_clock_init(MMIO_P2V(V2M_SYS_24MHZ), 24000000); } static void __init v2m_timer_init(void) Index: linux-2.6-tip/arch/arm/plat-versatile/Kconfig =================================================================== --- linux-2.6-tip.orig/arch/arm/plat-versatile/Kconfig +++ linux-2.6-tip/arch/arm/plat-versatile/Kconfig @@ -10,8 +10,4 @@ config PLAT_VERSATILE_LEDS def_bool y if LEDS_CLASS depends on ARCH_REALVIEW || ARCH_VERSATILE -config PLAT_VERSATILE_SCHED_CLOCK - def_bool y if !ARCH_INTEGRATOR_AP - select HAVE_SCHED_CLOCK - endif Index: linux-2.6-tip/arch/arm/plat-versatile/Makefile =================================================================== --- linux-2.6-tip.orig/arch/arm/plat-versatile/Makefile +++ linux-2.6-tip/arch/arm/plat-versatile/Makefile @@ -3,5 +3,4 @@ obj-$(CONFIG_LOCAL_TIMERS) += localtimer obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o obj-$(CONFIG_PLAT_VERSATILE_LEDS) += leds.o -obj-$(CONFIG_PLAT_VERSATILE_SCHED_CLOCK) += sched-clock.o obj-$(CONFIG_SMP) += headsmp.o platsmp.o Index: linux-2.6-tip/arch/arm/plat-versatile/include/plat/sched_clock.h =================================================================== --- linux-2.6-tip.orig/arch/arm/plat-versatile/include/plat/sched_clock.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ARM_PLAT_SCHED_CLOCK_H -#define ARM_PLAT_SCHED_CLOCK_H - -void versatile_sched_clock_init(void __iomem *, unsigned long); - -#endif Index: linux-2.6-tip/arch/arm/plat-versatile/sched-clock.c =================================================================== --- linux-2.6-tip.orig/arch/arm/plat-versatile/sched-clock.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * linux/arch/arm/plat-versatile/sched-clock.c - * - * Copyright (C) 1999 - 2003 ARM Limited - * Copyright (C) 2000 Deep Blue Solutions Ltd - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include -#include - -#include -#include - -static DEFINE_CLOCK_DATA(cd); -static void __iomem *ctr; - -/* - * Constants generated by clocks_calc_mult_shift(m, s, 24MHz, NSEC_PER_SEC, 60). - * This gives a resolution of about 41ns and a wrap period of about 178s. - */ -#define SC_MULT 2796202667u -#define SC_SHIFT 26 - -unsigned long long notrace sched_clock(void) -{ - if (ctr) { - u32 cyc = readl(ctr); - return cyc_to_fixed_sched_clock(&cd, cyc, (u32)~0, - SC_MULT, SC_SHIFT); - } else - return 0; -} - -static void notrace versatile_update_sched_clock(void) -{ - u32 cyc = readl(ctr); - update_sched_clock(&cd, cyc, (u32)~0); -} - -void __init versatile_sched_clock_init(void __iomem *reg, unsigned long rate) -{ - ctr = reg; - init_fixed_sched_clock(&cd, versatile_update_sched_clock, - 32, rate, SC_MULT, SC_SHIFT); -}