03 Nov, 2011

3 commits

  • Add "depends on GENERIC_HARDIRQS" to avoid compile breakage on s390:

    drivers/built-in.o: In function `pps_gpio_remove':
    linux-next/drivers/pps/clients/pps-gpio.c:189: undefined reference to `free_irq'

    Signed-off-by: Heiko Carstens
    Cc: James Nuss
    Cc: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • This client driver allows you to use a GPIO pin as a source for PPS
    signals. Platform data [1] are used to specify the GPIO pin number,
    label, assert event edge type, and whether clear events are captured.

    This driver is based on the work by Ricardo Martins who submitted an
    initial implementation [2] of a PPS IRQ client driver to the linuxpps
    mailing-list on Dec 3 2010.

    [1] include/linux/pps-gpio.h
    [2] http://ml.enneenne.com/pipermail/linuxpps/2010-December/004155.html

    [akpm@linux-foundation.org: remove unneeded cast of void*]
    Signed-off-by: James Nuss
    Cc: Ricardo Martins
    Acked-by: Rodolfo Giometti
    Signed-off-by: Ricardo Martins
    Cc: Alexander Gordeev
    Cc: Igor Plyatov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Nuss
     
  • A default echo function has been provided so it is no longer an error when
    you specify PPS_ECHOASSERT or PPS_ECHOCLEAR without an explicit echo
    function. This allows some code re-use and also makes it easier to write
    client drivers since the default echo function does not normally need to
    change.

    Signed-off-by: James Nuss
    Reviewed-by: Ben Gardiner
    Acked-by: Rodolfo Giometti
    Cc: Ricardo Martins
    Cc: Alexander Gordeev
    Cc: Igor Plyatov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Nuss
     

17 Mar, 2011

1 commit


26 Jan, 2011

2 commits

  • Both pps_parport and pps_gen_parport are written in a way that they
    can't share a port with any other driver. This can result in locking up
    the process that loads modules or even the whole kernel if the modules
    are compiled in. Use PARPORT_FLAG_EXCL to indicate this.

    Signed-off-by: Alexander Gordeev
    Cc: Alexander Gordeev
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Gordeev
     
  • Signed-off-by: Rodolfo Giometti
    Reported-by: Ingo Molnar
    Cc: Alexander Gordeev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti
     

14 Jan, 2011

5 commits

  • Add parallel port PPS client. It uses a standard method for capturing
    timestamps for assert edge transitions: getting a timestamp soon after an
    interrupt has happened.

    This is not a very precise source of time information due to interrupt
    handling delays. However, timestamps for clear edge transitions are much
    more precise because the interrupt handler continuously polls hardware
    port until the transition is done.

    Hardware port operations require only about 1us so the maximum error
    should not exceed this value. This was my primary goal when developing
    this client.

    Clear edge capture could be disabled using clear_wait parameter.

    Signed-off-by: Alexander Gordeev
    Acked-by: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Gordeev
     
  • Remove the code that gatheres timestamp in pps_tty_dcd_change() in case
    passed ts parameter is NULL because it never happens in the current code.
    Fix comments as well.

    Signed-off-by: Alexander Gordeev
    Acked-by: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Gordeev
     
  • Since we now have direct pointers to struct pps_device everywhere it's
    easy to use dev_* functions to print messages instead of plain printks.
    Where dev_* cannot be used printks are converted to pr_*.

    Signed-off-by: Alexander Gordeev
    Acked-by: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Gordeev
     
  • Using device index as a pointer needs some unnecessary work to be done
    every time the pointer is needed (in irq handler for example). Using a
    direct pointer is much more easy (and safe as well).

    Signed-off-by: Alexander Gordeev
    Acked-by: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Gordeev
     
  • Add a helper function to gather timestamps. This way clients don't have
    to duplicate it.

    Signed-off-by: Alexander Gordeev
    Acked-by: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Gordeev
     

13 Mar, 2010

2 commits

  • Adds support, by using the PPS line discipline, for the PPS sources
    connected with the CD (Carrier Detect) pin of a serial port.

    [akpm@linux-foundation.org: fix cast size warnings]
    Signed-off-by: Rodolfo Giometti
    Cc: David Woodhouse
    Cc: Greg KH
    Cc: Alan Cox
    Cc: Alexander Gordeev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti
     
  • Each PPS source can be registered/deregistered into the system by using
    special modules called "clients". They simply define the PPS sources'
    attributes and implement the time signal registration mechanism.

    This patch adds a special directory for such clients and adds a dummy
    client that can be useful to test system integrity on real systems.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Rodolfo Giometti
    Cc: David Woodhouse
    Cc: Greg KH
    Cc: Alan Cox
    Cc: Alexander Gordeev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rodolfo Giometti