Re: [libgpiod][PATCH 0/5] core: provide information about the parent chip in line requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 19, 2023 at 09:20:52PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> 
> While working on the DBus API, it occurred to me that while we can obtain
> the list of requested offsets from a line request, this information lacks
> context if we cannot get any information about the parent chip on which
> the request was made.
> 
> We cannot reference the chip in any way as its lifetime is disconnected
> from the request but we can at least provide the path to the character
> device used to open it as a way of providing some context for the offsets.
> 

No problem with this conceptually, the only question I have is which
one of these should be stored:
 - requested path e.g. 'a_symlink_to_my_favorite_chip'
 - canonicalised path e.g. '/dev/gpiochip0'
 - chip name e.g. 'gpiochip0'
 - chip number e.g. 0

In this patch we get the requested path, right?

Cheers,
Kent.

> This series adds a new getter for struct gpiod_line_request and wrappers
> for it for all bindings. This will be used in the upcoming DBus GPIO
> manager code.
> 
> Bartosz Golaszewski (5):
>   core: provide gpiod_line_request_get_chip_path()
>   tests: add a test-case for gpiod_line_request_get_chip_path()
>   bindings: cxx: provide line_request::chip_path()
>   bindings: python: provide the chip_path property in line_request
>   bindings: rust: provide LineRequest::chip_path()
> 
>  bindings/cxx/gpiodcxx/line-request.hpp       |  7 +++++++
>  bindings/cxx/line-request.cpp                | 10 +++++++++-
>  bindings/cxx/tests/tests-line-request.cpp    |  6 ++++--
>  bindings/python/gpiod/chip.py                |  1 +
>  bindings/python/gpiod/line_request.py        | 12 +++++++++--
>  bindings/python/tests/tests_line_request.py  | 13 +++++++-----
>  bindings/rust/libgpiod/src/line_request.rs   | 12 +++++++++++
>  bindings/rust/libgpiod/tests/line_request.rs | 13 ++++++++++++
>  include/gpiod.h                              |  9 +++++++++
>  lib/chip.c                                   |  2 +-
>  lib/internal.h                               |  3 ++-
>  lib/line-request.c                           | 20 ++++++++++++++++++-
>  tests/tests-line-request.c                   | 21 ++++++++++++++++++++
>  13 files changed, 116 insertions(+), 13 deletions(-)
> 
> -- 
> 2.39.2
> 



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux