[V3 0/4] Add PPS generators

From: Rodolfo Giometti
Date: Fri Nov 08 2024 - 02:39:12 EST


PPS generators are special hardware which are able to produce PPS
(Pulse Per Second) signals.

This patchset adds PPS generators class in order to have a well-defined
interface for these devices.

Changelog:

V2 -> V3:
* KernelVersion entry added to the Documentation ABI
* spelling and/or syntax errors fixed

V1 -> V2:
* new file Documentation/ABI/testing/sysfs-pps-gen added in MAINTAINERS
* date for the documentation ABI set to v6.13 which will be released on 2025-02
* removed documentation for non-existent sysfs "name" entry
* spelling and/or syntax errors fixed

RFC -> V1:
* char device reworked (get_device/set_device)
* dummy driver has been moved in a separate patch
* idr_ replaced with ida_* functions
* fixes in include/uapi/linux/pps_gen.h
* MAINTAINERS updated
* new ioctl PPS_GEN_USESYSTEMCLOCK added
* new ioctl PPS_GEN_FETCHEVENT added
* .compat_ioctl dropped
* WARN_ON() removed from pps_gen_cdev_release()
* not needed pr_*() calls removed or replaced with dev_*()
* more quite driver
* name attribute dropped
* white spaces removed

Rodolfo Giometti (4):
drivers pps: add PPS generators support
drivers pps/generators: add dummy PPS generator
Documentation pps.rst: add PPS generators documentation
Documentation ABI: add PPS generators documentation

Documentation/ABI/testing/sysfs-pps-gen | 43 +++
Documentation/driver-api/pps.rst | 40 ++
.../userspace-api/ioctl/ioctl-number.rst | 1 +
MAINTAINERS | 2 +
drivers/pps/Makefile | 3 +-
drivers/pps/generators/Kconfig | 22 +-
drivers/pps/generators/Makefile | 4 +
drivers/pps/generators/pps_gen-dummy.c | 96 +++++
drivers/pps/generators/pps_gen.c | 344 ++++++++++++++++++
drivers/pps/generators/sysfs.c | 75 ++++
include/linux/pps_gen_kernel.h | 78 ++++
include/uapi/linux/pps_gen.h | 37 ++
12 files changed, 743 insertions(+), 2 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-pps-gen
create mode 100644 drivers/pps/generators/pps_gen-dummy.c
create mode 100644 drivers/pps/generators/pps_gen.c
create mode 100644 drivers/pps/generators/sysfs.c
create mode 100644 include/linux/pps_gen_kernel.h
create mode 100644 include/uapi/linux/pps_gen.h

--
2.34.1