linux/arch/sparc/kernel
Davide Libenzi 4d672e7ac7 timerfd: new timerfd API
This is the new timerfd API as it is implemented by the following patch:

int timerfd_create(int clockid, int flags);
int timerfd_settime(int ufd, int flags,
		    const struct itimerspec *utmr,
		    struct itimerspec *otmr);
int timerfd_gettime(int ufd, struct itimerspec *otmr);

The timerfd_create() API creates an un-programmed timerfd fd.  The "clockid"
parameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.

The timerfd_settime() API give new settings by the timerfd fd, by optionally
retrieving the previous expiration time (in case the "otmr" parameter is not
NULL).

The time value specified in "utmr" is absolute, if the TFD_TIMER_ABSTIME bit
is set in the "flags" parameter.  Otherwise it's a relative time.

The timerfd_gettime() API returns the next expiration time of the timer, or
{0, 0} if the timerfd has not been set yet.

Like the previous timerfd API implementation, read(2) and poll(2) are
supported (with the same interface).  Here's a simple test program I used to
exercise the new timerfd APIs:

http://www.xmailserver.org/timerfd-test2.c

[akpm@linux-foundation.org: coding-style cleanups]
[akpm@linux-foundation.org: fix ia64 build]
[akpm@linux-foundation.org: fix m68k build]
[akpm@linux-foundation.org: fix mips build]
[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]
[heiko.carstens@de.ibm.com: fix s390]
[akpm@linux-foundation.org: fix powerpc build]
[akpm@linux-foundation.org: fix sparc64 more]
Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Davide Libenzi <davidel@xmailserver.org>
Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-05 09:44:07 -08:00
..
Makefile [PATCH] sort the devres mess out 2007-02-11 11:18:07 -08:00
apc.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
asm-offsets.c rename thread_info to stack 2007-05-09 12:30:56 -07:00
auxio.c [SPARC]: Spelling fixes. 2007-05-11 21:39:20 -07:00
cpu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
devices.c [SPARC]: Add missing of_node_put 2007-12-05 05:38:00 -08:00
ebus.c [SPARC]: Fix EBUS use of uninitialized variable. 2007-09-27 13:09:28 -07:00
entry.S [SPARC32]: Fix modular build of floppy driver. 2007-08-03 14:08:42 -07:00
errtbls.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
etrap.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head.S [SPARC32]: Fix sparc32 kdebug changes. 2007-05-14 03:22:08 -07:00
idprom.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
init_task.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
ioport.c Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
irq.c [SPARC]: Remove duplicate includes. 2007-11-06 21:23:11 -08:00
irq.h [SPARC32]: Take enable_irq/disable_irq out of line. 2007-07-21 19:19:38 -07:00
led.c [PATCH] arch/sparc/kernel/led.c __user annotations 2005-12-15 10:01:29 -08:00
module.c [SPARC]: Handle UNWIND_INFO properly. 2006-05-12 12:45:50 -07:00
muldiv.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
of_device.c [SPARC/64]: Consolidate of_register_driver 2007-10-17 21:17:42 -07:00
pcic.c [SPARC]: Add missing "space" 2007-12-05 05:37:58 -08:00
pmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c [SPARC32]: __inline__ --> inline 2007-10-27 00:17:01 -07:00
prom.c [SPARC]: Centralize find_in_proplist() instead of duplicating N times. 2007-08-07 18:46:36 -07:00
ptrace.c [SPARC32]: Spelling fixes 2007-12-20 13:55:45 -08:00
rtrap.S [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
sclow.S kbuild: arm26,sparc use generic asm-offset support 2005-09-09 20:35:55 +02:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c [SPARC]: Constify function pointer tables. 2008-01-22 18:29:20 -08:00
signal.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smp.c [SPARC32]: clean include/asm-sparc/irq.h 2007-07-21 19:18:57 -07:00
sparc-stub.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sparc_ksyms.c [SPARC32]: Fix modular build of floppy driver. 2007-08-03 14:08:42 -07:00
sun4c_irq.c [SPARC32]: clean include/asm-sparc/irq.h 2007-07-21 19:18:57 -07:00
sun4d_irq.c [SPARC32]: Take enable_irq/disable_irq out of line. 2007-07-21 19:19:38 -07:00
sun4d_smp.c [SPARC32]: clean include/asm-sparc/irq.h 2007-07-21 19:18:57 -07:00
sun4m_irq.c [SPARC32]: clean include/asm-sparc/irq.h 2007-07-21 19:18:57 -07:00
sun4m_smp.c [SPARC32]: clean include/asm-sparc/irq.h 2007-07-21 19:18:57 -07:00
sun4setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunos_asm.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunos_ioctl.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sys_solaris.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sys_sparc.c Use helpers to obtain task pid in printks (arch code) 2007-10-19 11:53:43 -07:00
sys_sunos.c pid namespaces: changes to show virtual ids to user 2007-10-19 11:53:40 -07:00
systbls.S timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
tadpole.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tick14.c [SPARC32]: Take enable_irq/disable_irq out of line. 2007-07-21 19:19:38 -07:00
time.c [SPARC]: Make gettimeofday() monotonic again. 2008-01-12 21:52:15 -08:00
trampoline.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.c Use helpers to obtain task pid in printks (arch code) 2007-10-19 11:53:43 -07:00
unaligned.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
windows.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wof.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wuf.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00