[GIT PULL] hte: New subsystem for v5.19-rc1
From: Thierry Reding
Date: Fri Jun 03 2022 - 07:39:22 EST
Hi Linus,
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/hte/for-5.19-rc1
for you to fetch changes up to 5dad4eccd2b4316a84209603a28d34c6346392bb:
dt-bindings: timestamp: Correct id path (2022-06-02 15:56:59 +0200)
This is a new subsystem that introduces support for associating
hardware timestamps with certain events (such as GPIOs and IRQs). Dipen
has worked on this for a couple of months and it's been in linux-next
for a couple of weeks. We think it's now ready for inclusion in v5.19.
Dipen's the official maintainer, but I volunteered to help out with the
logistics while he gets set up with the necessary key signatures and a
kernel.org account. Hopefully this will all be done by the next merge
window, enabling Dipen to take over.
Apologies for this being a little late, but there were a few last-minute
tweaks in the device tree bindings that I wanted to give an extra day in
linux-next just to make sure. The impact of this should be minimal since
it is all new code.
Thanks,
Thierry
----------------------------------------------------------------
hte: New subsystem for v5.19-rc1
This contains the new HTE subsystem that has been in the works for a
couple of months now. The infrastructure provided allows for drivers to
register as hardware timestamp providers, while consumers will be able
to request events that they are interested in (such as GPIOs and IRQs)
to be timestamped by the hardware providers.
Note that this currently supports only one provider, but there seems to
be enough interest in this functionality and we expect to see more
drivers added once this is merged.
----------------------------------------------------------------
Dan Carpenter (2):
hte: Fix off by one in hte_push_ts_ns()
hte: Uninitialized variable in hte_ts_get()
Dipen Patel (12):
Documentation: Add HTE subsystem guide
drivers: Add hardware timestamp engine (HTE) subsystem
hte: Add Tegra194 HTE kernel provider
dt-bindings: Add HTE bindings
gpiolib: Add HTE support
gpio: tegra186: Add HTE support
gpiolib: cdev: Add hardware timestamp clock type
tools: gpio: Add new hardware clock type
hte: Add Tegra HTE test driver
MAINTAINERS: Add HTE Subsystem
dt-bindings: Renamed hte directory to timestamp
dt-bindings: timestamp: Correct id path
Jiapeng Chong (1):
hte: Remove unused including <linux/version.h>
Yang Yingliang (1):
hte: Fix possible use-after-free in tegra_hte_test_remove()
.../timestamp/hardware-timestamps-common.yaml | 29 +
.../bindings/timestamp/hte-consumer.yaml | 39 +
.../bindings/timestamp/nvidia,tegra194-hte.yaml | 88 ++
Documentation/hte/hte.rst | 79 ++
Documentation/hte/index.rst | 22 +
Documentation/hte/tegra194-hte.rst | 49 ++
Documentation/index.rst | 1 +
MAINTAINERS | 8 +
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/gpio/gpio-tegra186.c | 81 +-
drivers/gpio/gpiolib-cdev.c | 252 +++++-
drivers/gpio/gpiolib.c | 58 ++
drivers/gpio/gpiolib.h | 1 +
drivers/hte/Kconfig | 33 +
drivers/hte/Makefile | 3 +
drivers/hte/hte-tegra194-test.c | 238 ++++++
drivers/hte/hte-tegra194.c | 730 ++++++++++++++++
drivers/hte/hte.c | 947 +++++++++++++++++++++
include/linux/gpio/consumer.h | 16 +-
include/linux/gpio/driver.h | 10 +
include/linux/hte.h | 271 ++++++
include/uapi/linux/gpio.h | 3 +
tools/gpio/gpio-event-mon.c | 6 +-
24 files changed, 2930 insertions(+), 37 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timestamp/hardware-timestamps-common.yaml
create mode 100644 Documentation/devicetree/bindings/timestamp/hte-consumer.yaml
create mode 100644 Documentation/devicetree/bindings/timestamp/nvidia,tegra194-hte.yaml
create mode 100644 Documentation/hte/hte.rst
create mode 100644 Documentation/hte/index.rst
create mode 100644 Documentation/hte/tegra194-hte.rst
create mode 100644 drivers/hte/Kconfig
create mode 100644 drivers/hte/Makefile
create mode 100644 drivers/hte/hte-tegra194-test.c
create mode 100644 drivers/hte/hte-tegra194.c
create mode 100644 drivers/hte/hte.c
create mode 100644 include/linux/hte.h