40 lines
654 B
C
40 lines
654 B
C
#include <linux/init.h>
|
|
#include <asm/timer.h>
|
|
|
|
static void mark_offset_none(void)
|
|
{
|
|
/* nothing needed */
|
|
}
|
|
|
|
static unsigned long get_offset_none(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static unsigned long long monotonic_clock_none(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static void delay_none(unsigned long loops)
|
|
{
|
|
int d0;
|
|
__asm__ __volatile__(
|
|
"\tjmp 1f\n"
|
|
".align 16\n"
|
|
"1:\tjmp 2f\n"
|
|
".align 16\n"
|
|
"2:\tdecl %0\n\tjns 2b"
|
|
:"=&a" (d0)
|
|
:"0" (loops));
|
|
}
|
|
|
|
/* none timer_opts struct */
|
|
struct timer_opts timer_none = {
|
|
.name = "none",
|
|
.mark_offset = mark_offset_none,
|
|
.get_offset = get_offset_none,
|
|
.monotonic_clock = monotonic_clock_none,
|
|
.delay = delay_none,
|
|
};
|