User: Password:
|
|
Subscribe / Log in / New account

LinuxPPS (RESUBMIT 7): the PPS Linux implementation.

From:  Rodolfo Giometti <giometti@linux.it>
To:  linux-kernel@vger.kernel.org
Subject:  LinuxPPS (RESUBMIT 7): the PPS Linux implementation.
Date:  Wed, 10 Sep 2008 09:52:19 +0200
Message-ID:  <1221033149-15405-1-git-send-email-giometti@linux.it>
Cc:  Andrew Morton <akpm@linux-foundation.org>, David Woodhouse <dwmw2@infradead.org>, Dave Jones <davej@redhat.com>, Sam Ravnborg <sam@ravnborg.org>, Greg KH <greg@kroah.com>, Randy Dunlap <randy.dunlap@oracle.com>, Kay Sievers <kay.sievers@vrfy.org>, Alan Cox <alan@lxorguk.ukuu.org.uk>, "H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>
Archive-link:  Article

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




Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds