1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * linux/arch/arm/plat-versatile/sched-clock.c 4 * 5 * Copyright (C) 1999 - 2003 ARM Limited 6 * Copyright (C) 2000 Deep Blue Solutions Ltd 7 */ 8 #include <linux/kernel.h> 9 #include <linux/io.h> 10 #include <linux/sched_clock.h> 11 12 #include <plat/sched_clock.h> 13 14 static void __iomem *ctr; 15 versatile_read_sched_clock(void)16static u64 notrace versatile_read_sched_clock(void) 17 { 18 if (ctr) 19 return readl(ctr); 20 21 return 0; 22 } 23 versatile_sched_clock_init(void __iomem * reg,unsigned long rate)24void __init versatile_sched_clock_init(void __iomem *reg, unsigned long rate) 25 { 26 ctr = reg; 27 sched_clock_register(versatile_read_sched_clock, 32, rate); 28 } 29