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 >