LinuxPPS (RESUBMIT 7): the PPS Linux implementation.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-kernel@...>
Cc: Andrew Morton <akpm@...>, David Woodhouse <dwmw2@...>, Dave Jones <davej@...>, Sam Ravnborg <sam@...>, Greg KH <greg@...>, Randy Dunlap <randy.dunlap@...>, Kay Sievers <kay.sievers@...>, Alan Cox <alan@...>, H. Peter Anvin <hpa@...>, Ingo Molnar <mingo@...>
Date: Wednesday, September 10, 2008 - 3:52 am

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(-)


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
LinuxPPS (RESUBMIT 7): the PPS Linux implementation., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 01/10] LinuxPPS core support., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 02/10] PPS: userland header file for PPS API., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 03/10] PPS: documentation programs and examples., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 04/10] PPS: LinuxPPS clients support., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 06/10] ldisc n_tty: export all N_TTY ldisc methods., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 07/10] tty: new PPS line discipline., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 08/10] PPS: serial clients support., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 09/10] PPS: parallel port clients support., Rodolfo Giometti, (Wed Sep 10, 3:52 am)
[PATCH 10/10] PPS: low level IRQ timestamps recording., Rodolfo Giometti, (Wed Sep 10, 3:52 am)