mbox series

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

Message ID 20230120094515.40464-1-brgl@bgdev.pl
Headers show
Series treewide: continue beating libgpiod v2 into shape for an upcoming release | expand

Message

Bartosz Golaszewski Jan. 20, 2023, 9:45 a.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

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(-)