Linux GPIO subsystem development
 help / color / mirror / Atom feed
* [PATCH RFC libgpiod 0/3] tools: new tool - gpioctl
@ 2026-10-16 14:18 Bartosz Golaszewski
  2026-10-16 14:18 ` [PATCH RFC libgpiod 1/3] tools: factor out line value parsing into tools-common Bartosz Golaszewski
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Bartosz Golaszewski @ 2026-10-16 14:18 UTC (permalink / raw)
  To: Linus Walleij, Kent Gibson, Vincent Fazio, Andy Shevchenko
  Cc: linux-gpio, brgl, Bartosz Golaszewski

Here's is something I've had in the works for about a year now. It's
supposed to address the biggest issue with gpioset, namely the lack of
persistence beyond the process' lifetime by working somewhat similarly
to tmux: spawning a daemon on first invocation that retains the state
for a particular user. This daemon listens on a unix socket and can
handle clients that are different processes executed over time.

It's finally in a state where I'm happy showing it to others, so please
take a look.

--

Provide gpioctl, a new command-line tool for persistent GPIO line control.
Unlike gpioget and gpioset which release lines on exit, gpioctl holds
requested lines in a background daemon so their state survives across
multiple client invocations.

Before adding the new program: move some code we'll reuse out of gpioset
and gpiomon and into tools-common.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
Bartosz Golaszewski (3):
      tools: factor out line value parsing into tools-common
      tools: factor out line event formatting into tools-common
      tools: implement gpioctl

 TODO                        |   14 -
 docs/.gitignore             |    2 +
 docs/conf.py                |    8 +
 docs/gpio_tools.rst         |   10 +-
 docs/gpioctl_top.rst        |  156 +++
 man/meson.build             |   39 +
 tools/gpio-tools-test.bash  | 1756 ++++++++++++++++++++++++++
 tools/gpioctl-test-helper.c |   58 +
 tools/gpioctl.c             | 2838 +++++++++++++++++++++++++++++++++++++++++++
 tools/gpiomon.c             |  128 +-
 tools/gpioset.c             |   91 +-
 tools/meson.build           |   21 +-
 tools/tools-common.c        |  180 ++-
 tools/tools-common.h        |    9 +
 14 files changed, 5091 insertions(+), 219 deletions(-)
---
base-commit: 25c56387337390bbbe42d145faa829c35f9c0611
change-id: 20251001-gpioctl-336556e702fd

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-10-21 10:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 14:18 [PATCH RFC libgpiod 0/3] tools: new tool - gpioctl Bartosz Golaszewski
2026-10-16 14:18 ` [PATCH RFC libgpiod 1/3] tools: factor out line value parsing into tools-common Bartosz Golaszewski
2026-10-16 14:18 ` [PATCH RFC libgpiod 2/3] tools: factor out line event formatting " Bartosz Golaszewski
2026-10-19 11:13   ` Andy Shevchenko
2026-10-21 10:35     ` Bartosz Golaszewski
2026-10-16 14:18 ` [PATCH RFC libgpiod 3/3] tools: implement gpioctl Bartosz Golaszewski
2026-10-16 18:00   ` Linus Walleij
2026-10-19  7:50     ` Bartosz Golaszewski
2026-10-19 11:15     ` Andy Shevchenko
2026-10-19 13:37   ` Vincent Fazio
2026-10-19 13:58     ` Bartosz Golaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox