gpiolib: cdev: allow edge event timestamps to be configured as REALTIME
authorKent Gibson <warthog618@gmail.com>
Wed, 14 Oct 2020 23:11:56 +0000 (07:11 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Sat, 5 Dec 2020 22:22:47 +0000 (23:22 +0100)
commit26d060e47e25f2c715a1b2c48fea391f67907a30
tree084ae8859583599fbf3f8ee1c7f9a472dc5eaaf2
parent93224edf0b9fd7f643e7ead5b683bdac87f20aa2
gpiolib: cdev: allow edge event timestamps to be configured as REALTIME

Using CLOCK_REALTIME as the source for event timestamps is crucial for
some specific applications, particularly those requiring timetamps
relative to a PTP clock, so provide an option to switch the event
timestamp source from the default CLOCK_MONOTONIC to CLOCK_REALTIME.

Note that CLOCK_REALTIME was the default source clock for GPIO until
Linux 5.7 when it was changed to CLOCK_MONOTONIC due to issues with the
shifting of the realtime clock.
Providing this option maintains the CLOCK_MONOTONIC as the default,
while also providing a path forward for those dependent on the pre-5.7
behaviour.

Suggested-by: Jack Winch <sunt.un.morcov@gmail.com>
Signed-off-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20201014231158.34117-2-warthog618@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib-cdev.c
drivers/gpio/gpiolib.h
include/uapi/linux/gpio.h