LinuxPPS (Version 10): the PPS Linux implementation.

From: Rodolfo Giometti
Date: Wed Nov 26 2008 - 08:43:52 EST


Note: Very few changes since last post! Please, add this patch set
into next available merge window.

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
=========

Version 9 -> 10:
---------------

* Fixes for 2.6.28-rc6

Version 8 -> 9:
---------------

* language fix up.

Version 7 -> 8:
---------------

* PPS ldisc module locking fix up.

* race during ldisc initialization fix up.

Version 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.

Note: Last patch (0009-PPS-low-level-IRQ-timestamps-recording.patch)
implements low level IRQs timestamps recording which improves
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/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/serial/tty.txt | 4
b/MAINTAINERS | 7
b/arch/x86/kernel/irq_32.c | 16 +
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 | 32 ++-
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 | 155 +++++++++++++++
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 | 11 -
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
38 files changed, 2235 insertions(+), 15 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/