[PATCH v6 0/4] PPS: pps-gpio PPS ECHO implementation

From: Tom Burkart
Date: Mon Nov 12 2018 - 23:06:27 EST


Hi all,
please find attached the PPS-GPIO PPS ECHO implementation patch. The
driver claims to have echo functionality in the sysfs interface but this
functionality is not present. This patch provides this functionality.

Parts 1 and 2 of the patch change the original driver from the number
based GPIO API to the descriptor based API. This does break the backward
compatibility of all devicetree descriptions for this driver as the
descriptor based API appends either "-gpios" or "-gpio" to all names
passed to it and then tries to find a match in the devicetree.

Parts 3 and 4 then add the PPS ECHO functionality. This is enabled if a
"echo-gpios" entry is found in the devicetree.

Changes in v4:
There is a bugfix in part 2 that was returning an uninitialised variable
and juggling some code that speeds up the probe by not running code when
not using PPS ECHO.

Changes in v5:
Meet all requirements of checkpatch

Changes in v6:
Cosmetic changes to code layout

On the linuxpps mailing list it was suggested to use a hrtimer for
resetting the GPIO ECHO active state to the inactive state.
Please also comment on whether a hrtimer is necessary/desirable for the
purpose of resetting the echo pin active state. I am happy to implement
it if there is a need.

Please install, test and comment as it is now a quite major change to
the driver.
Please do send suggestions for improvement.

Tom Burkart

Tom Burkart (4):
dt-bindings: pps: descriptor-based gpio, capture-clear addition
pps: descriptor-based gpio, capture-clear addition
dt-bindings: pps: pps-gpio PPS ECHO implementation
pps: pps-gpio pps-echo implementation

Documentation/devicetree/bindings/pps/pps-gpio.txt | 15 ++-
drivers/pps/clients/pps-gpio.c | 133 +++++++++++++++++----
include/linux/pps-gpio.h | 5 +-
3 files changed, 126 insertions(+), 27 deletions(-)

--
2.12.3