csrc-r4k.c 792 字节
Newer Older
1 2 3 4 5 6 7
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2007 by Ralf Baechle
 */
R
Ralf Baechle 已提交
8 9 10 11
#include <linux/clocksource.h>
#include <linux/init.h>

#include <asm/time.h>
12 13 14 15 16 17 18 19 20 21 22 23 24

static cycle_t c0_hpt_read(void)
{
	return read_c0_count();
}

static struct clocksource clocksource_mips = {
	.name		= "MIPS",
	.read		= c0_hpt_read,
	.mask		= CLOCKSOURCE_MASK(32),
	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
};

R
Ralf Baechle 已提交
25
void __init init_mips_clocksource(void)
26 27 28 29 30 31 32 33
{
	/* Calclate a somewhat reasonable rating value */
	clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000;

	clocksource_set_clock(&clocksource_mips, mips_hpt_frequency);

	clocksource_register(&clocksource_mips);
}