firewire: cdev: add more flexible cycle timer ioctl
commitabfe5a01ef1e463cbafdae461b693db34e308c02
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Sat, 20 Feb 2010 11:13:49 +0000 (20 12:13 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 24 Feb 2010 19:36:54 +0000 (24 20:36 +0100)
treee33056c7d8b80a3128f7714c31b083091be3ea9b
parentfd6e0c518121d22b50060d26c8aec2b701c6aab7
firewire: cdev: add more flexible cycle timer ioctl

The system time from CLOCK_REALTIME is not monotonic, hence problematic
for the main user of the FW_CDEV_IOC_GET_CYCLE_TIMER ioctl.  This issue
exists in its successor ABI, i.e. raw1394, too.
http://subversion.ffado.org/ticket/242

We now offer an alternative ioctl which lets the caller choose between
CLOCK_REALTIME, CLOCK_MONOTONIC, and CLOCK_MONOTONIC_RAW as source of
the local time, very similar to the clock_gettime libc function.  The
format of the local time return value matches that of clock_gettime
(seconds and nanoseconds, instead of a single microseconds value from
the existing ioctl).

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/core-cdev.c
include/linux/firewire-cdev.h