Skip to content

treewide: continue beating libgpiod v2 into shape for an upcoming release

Bartosz Golaszewski linux-gpio 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest8 patches 2 repliesIn review
  2. v116 patches 24 repliesSuperseded

Changes in v2 from the cover letter

- apply non-controversial patches and drop them from the series
- fix README as per Andy's suggestions
- extend the test cases for gpiod_line_config/request_get_offsets()
- improve rust code for getting line settings from line config
- improve the documentation for gpiod_line_config_set_output_values()
- extend the python support for setting global output values by allowing to pass mappings from line names/offsets to line values

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8README: update for libgpiod v2README+17 -160 replies
2/8treewide: unify gpiod_line_config/request_get_offsets() functionsbindings/cxx/line-config.cpp bindings/cxx/line-request.cpp bindings/python/gpiod/ext/request.c +9 more+227 -1590 replies
3/8core: provide gpiod_line_config_set_output_values()include/gpiod.h lib/line-config.c tests/gpiod-test-helpers.h +1 more+158 -40 replies
4/8gpioset: use gpiod_line_config_set_output_values()tools/gpioset.c+11 -100 replies
5/8bindings: cxx: add line_config.set_output_values()bindings/cxx/gpiodcxx/line-config.hpp bindings/cxx/internal.hpp bindings/cxx/line-config.cpp +2 more+79 -00 replies
6/8bindings: python: add the output_values argument to Chip.request_lines()bindings/python/gpiod/chip.py bindings/python/gpiod/ext/line-config.c bindings/python/tests/tests_line_request.py+149 -00 replies
7/8bindings: rust: make mutators return &mut selfbindings/rust/libgpiod/examples/gpio_events.rs bindings/rust/libgpiod/examples/gpio_threaded_info_events.rs bindings/rust/libgpiod/examples/gpioget.rs +10 more+65 -721 reply
8/8bindings: rust: provide line_config.set_output_values()bindings/rust/libgpiod/src/lib.rs bindings/rust/libgpiod/src/line_config.rs bindings/rust/libgpiod/tests/line_config.rs+86 -11 reply

Reviews trailers per patch

2 of 8 patches have a Reviewed-by or Acked-by.

PatchViresh Kumar
1/8
2/8
3/8
4/8
5/8
6/8
7/8A-b
8/8A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [libgpiod][PATCH v2 0/8] treewide: continue beating libgpiod v2 into shape for an upcoming release

From: Bartosz Golaszewski <[email protected]>

This series contains an assortment of smaller and bigger changes. Some are just simple updates to docs, some fix bugs and we have two more changes to the API: unifying the get_offsets functions for line config and line request as well as providing an interface for setting multiple output values at once in line_config before requesting lines.

Rust bindings have also been updated slightly so Viresh please make sure to take a look and review.

I really hope this is the last set of bigger changes and that I'll be able to tag an RC and release v2 in the next couple of weeks.

v1 -> v2:
- apply non-controversial patches and drop them from the series
- fix README as per Andy's suggestions
- extend the test cases for gpiod_line_config/request_get_offsets()
- improve rust code for getting line settings from line config
- improve the documentation for gpiod_line_config_set_output_values()
- extend the python support for setting global output values by allowing to pass mappings from line names/offsets to line values

Bartosz Golaszewski (8):
README: update for libgpiod v2
treewide: unify gpiod_line_config/request_get_offsets() functions
core: provide gpiod_line_config_set_output_values()
gpioset: use gpiod_line_config_set_output_values()
bindings: cxx: add line_config.set_output_values()
bindings: python: add the output_values argument to
Chip.request_lines()
bindings: rust: make mutators return &mut self
bindings: rust: provide line_config.set_output_values()

 README                                        |  33 ++--
 bindings/cxx/gpiodcxx/line-config.hpp         |   7 +
 bindings/cxx/internal.hpp                     |   1 +
 bindings/cxx/line-config.cpp                  |  33 ++--
 bindings/cxx/line-request.cpp                 |   6 +-
 bindings/cxx/line-settings.cpp                |   5 +
 bindings/cxx/tests/tests-line-config.cpp      |  51 +++++++
 bindings/python/gpiod/chip.py                 |  30 ++++
 bindings/python/gpiod/ext/line-config.c       |  64 ++++++++
 bindings/python/gpiod/ext/request.c           |   8 +-
 bindings/python/tests/tests_line_request.py   |  55 +++++++
 .../rust/libgpiod/examples/gpio_events.rs     |   2 +-
 .../examples/gpio_threaded_info_events.rs     |   6 +-
 bindings/rust/libgpiod/examples/gpioget.rs    |   4 +-
 bindings/rust/libgpiod/examples/gpiomon.rs    |   2 +-
 bindings/rust/libgpiod/examples/gpioset.rs    |   4 +-
 bindings/rust/libgpiod/src/lib.rs             |   1 +
 bindings/rust/libgpiod/src/line_config.rs     |  84 +++++-----
 bindings/rust/libgpiod/src/line_request.rs    |  24 +--
 bindings/rust/libgpiod/src/request_config.rs  |   8 +-
 bindings/rust/libgpiod/tests/common/config.rs |   8 +-
 bindings/rust/libgpiod/tests/info_event.rs    |   6 +-
 bindings/rust/libgpiod/tests/line_config.rs   |  76 ++++++++--
 bindings/rust/libgpiod/tests/line_request.rs  |  73 ++++-----
 .../rust/libgpiod/tests/request_config.rs     |   2 +-
 configure.ac                                  |   1 +
 include/gpiod.h                               |  87 ++++++++---
 lib/line-config.c                             |  97 +++++++++---
 lib/line-request.c                            |  23 ++-
 tests/gpiod-test-helpers.h                    |  10 ++
 tests/tests-line-config.c                     | 143 +++++++++++++++---
 tests/tests-line-request.c                    |  49 +++++-
 tools/gpioset.c                               |  21 +--
 33 files changed, 777 insertions(+), 247 deletions(-)
Signature · 1 line
2.37.2