LinuxPPS: core support
authorRodolfo Giometti <giometti@linux.it>
Wed, 17 Jun 2009 23:28:37 +0000 (16:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 18 Jun 2009 20:04:04 +0000 (13:04 -0700)
commiteae9d2ba0cfc27a2ad9765f23efb98fb80d80234
treef4be40ca528b2f23f97fa9cb6ebe91b8d6696d5b
parent8820f27ad9a5ad2a62cdcdf425d7921c31831800
LinuxPPS: core support

This patch adds the kernel side of the PPS support currently named
"LinuxPPS".

PPS means "pulse per second" and a PPS source is just a device which
provides a high precision signal each second so that an application can
use it to adjust system clock time.

Common use is the combination of the NTPD as userland program with a GPS
receiver as PPS source to obtain a wallclock-time with sub-millisecond
synchronisation to UTC.

To obtain this goal the userland programs shoud use the PPS API
specification (RFC 2783 - Pulse-Per-Second API for UNIX-like Operating
Systems, Version 1.0) which in part is implemented by this patch.  It
provides a set of chars devices, one per PPS source, which can be used to
get the time signal.  The RFC's functions can be implemented by accessing
to these char devices.

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Greg KH <greg@kroah.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Michael Kerrisk <mtk.manpages@googlemail.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 files changed:
Documentation/ABI/testing/sysfs-pps [new file with mode: 0644]
Documentation/ioctl/ioctl-number.txt
Documentation/pps/pps.txt [new file with mode: 0644]
MAINTAINERS
drivers/Kconfig
drivers/Makefile
drivers/pps/Kconfig [new file with mode: 0644]
drivers/pps/Makefile [new file with mode: 0644]
drivers/pps/kapi.c [new file with mode: 0644]
drivers/pps/pps.c [new file with mode: 0644]
drivers/pps/sysfs.c [new file with mode: 0644]
include/linux/Kbuild
include/linux/pps.h [new file with mode: 0644]
include/linux/pps_kernel.h [new file with mode: 0644]