blob: 5b779fd1f78828d123ea047164852b547263eeba [file] [log] [blame]
David S. Millercf3d7c12008-03-26 01:11:55 -07001/* timer.h: System timer definitions for sun5.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002 *
David S. Millercf3d7c12008-03-26 01:11:55 -07003 * Copyright (C) 1997, 2008 David S. Miller (davem@davemloft.net)
Linus Torvalds1da177e2005-04-16 15:20:36 -07004 */
5
6#ifndef _SPARC64_TIMER_H
7#define _SPARC64_TIMER_H
8
9#include <linux/types.h>
David S. Millercf3d7c12008-03-26 01:11:55 -070010#include <linux/init.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Linus Torvalds1da177e2005-04-16 15:20:36 -070012struct sparc64_tick_ops {
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 unsigned long (*get_tick)(void);
David S. Miller112f4872007-03-05 15:28:37 -080014 int (*add_compare)(unsigned long);
Linus Torvalds1da177e2005-04-16 15:20:36 -070015 unsigned long softint_mask;
David S. Miller112f4872007-03-05 15:28:37 -080016 void (*disable_irq)(void);
17
18 void (*init_tick)(void);
19 unsigned long (*add_tick)(unsigned long);
20
21 char *name;
Linus Torvalds1da177e2005-04-16 15:20:36 -070022};
23
24extern struct sparc64_tick_ops *tick_ops;
25
Linus Torvalds1da177e2005-04-16 15:20:36 -070026extern unsigned long sparc64_get_clock_tick(unsigned int cpu);
David S. Millercf3d7c12008-03-26 01:11:55 -070027extern void __devinit setup_sparc64_timer(void);
28extern void __init time_init(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070029
30#endif /* _SPARC64_TIMER_H */