LinuxPPS (RESUBMIT 7): the PPS Linux implementation.

From: Rodolfo Giometti
Date: Thu Oct 02 2008 - 03:42:57 EST


This patch set adds the PPS support into Linux.

PPS means "pulse per second" and its API is specified by RFC 2783
(Pulse-Per-Second API for UNIX-like Operating Systems, Version 1.0).

The code has been tested with the NTPD program
(http://www.eecis.udel.edu/~mills/ntp/html/index.html) and several GPS
antennae.

Changelog

RESUBMIT 6 -> 7:

* A new line discipline has been added in order to leave untouched
the serial ports code (as suggested by Alan).

* n_tty.c exports only GPL symbols.

* ioctl numbers fixed in order to avoid any conflicts.

* Last patch (0010-PPS-low-level-IRQ-timestamps-recording.patch) implements
low level IRQs timestamps recording which mproves PPS precision but can
be dropped for kernel inclusion! As suggested by Alan: "After that is
sorted/merged we can come back to working out the best way to improve
the IRQ and HARDPPS hacks."

Rodolfo

--

b/Documentation/ABI/testing/sysfs-pps | 73 +++++++
b/Documentation/ioctl-number.txt | 2
b/Documentation/pps/Makefile | 28 ++
b/Documentation/pps/pps.txt | 172 +++++++++++++++++
b/Documentation/pps/ppsfind | 17 +
b/Documentation/pps/ppsldisc.c | 46 ++++
b/Documentation/pps/ppstest.c | 151 +++++++++++++++
b/Documentation/pps/timepps.h | 195 +++++++++++++++++++
b/Documentation/tty.txt | 4
b/MAINTAINERS | 7
b/arch/x86/kernel/irq_32.c | 17 +
b/arch/x86/kernel/irq_64.c | 21 +-
b/drivers/Kconfig | 2
b/drivers/Makefile | 1
b/drivers/char/lp.c | 61 ++++++
b/drivers/char/n_tty.c | 54 +++--
b/drivers/pps/Kconfig | 33 +++
b/drivers/pps/Makefile | 8
b/drivers/pps/clients/Kconfig | 18 +
b/drivers/pps/clients/Makefile | 9
b/drivers/pps/clients/ktimer.c | 124 ++++++++++++
b/drivers/pps/clients/pps-ldisc.c | 154 +++++++++++++++
b/drivers/pps/kapi.c | 322 ++++++++++++++++++++++++++++++++
b/drivers/pps/pps.c | 335 ++++++++++++++++++++++++++++++++++
b/drivers/pps/sysfs.c | 104 ++++++++++
b/drivers/serial/8250.c | 13 +
b/include/linux/Kbuild | 1
b/include/linux/parport.h | 22 ++
b/include/linux/pps.h | 202 ++++++++++++++++++++
b/include/linux/serial_core.h | 10 -
b/include/linux/tty.h | 16 +
b/include/linux/tty_ldisc.h | 8
drivers/pps/Kconfig | 14 +
drivers/pps/Makefile | 1
drivers/pps/clients/Kconfig | 17 +
drivers/pps/clients/Makefile | 1
include/linux/pps.h | 1
include/linux/serial_core.h | 7
include/linux/tty.h | 3
39 files changed, 2247 insertions(+), 27 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/