Skip to content

Add support for bias flags and SET_CONFIG

Kent Gibson linux-gpio 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest20 patches 1 replyIn review
  2. v314 patches 6 repliesSuperseded
  3. v214 patches 0 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v119 patches38 repliesSuperseded

Changes in v4 from the cover letter

- tests require kernel v5.5.0
- use std::map for bias mappings in cxx bindings
- drop gpiod_line_is_requested_values
- various formatting and coding style fixes
- relocate common tool code into tools-common
- tools bail on bad command line parameters
- add drive option to gpioset in a separate patch
- split out documentation update for gpiod_line_set_value_bulk
- split out change to vals variable in gpiod_Line_set_value

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/20core: add support for bias flagsinclude/gpiod.h lib/core.c lib/ctxless.c+311 -180 replies
2/20tests: add tests for bias flagstests/gpiod-test.c tests/tests-ctxless.c tests/tests-event.c +1 more+282 -40 replies
3/20bindings: cxx: add support for bias flagsbindings/cxx/gpiod.hpp bindings/cxx/line.cpp bindings/cxx/line_bulk.cpp+51 -00 replies
4/20bindings: cxx: tests: add tests for bias flagsbindings/cxx/tests/gpiod-cxx-test.cpp bindings/cxx/tests/tests-line.cpp+88 -10 replies
5/20bindings: python: add support for bias flagsbindings/python/gpiodmodule.c+82 -00 replies
6/20bindings: python: tests: add tests for bias flagsbindings/python/tests/gpiod_py_test.py+92 -10 replies
7/20core: add support for SET_CONFIGinclude/gpiod.h lib/core.c+293 -20 replies
8/20tests: add tests for SET_CONFIGtests/tests-line.c+369 -10 replies
9/20bindings: cxx: add support for SET_CONFIGbindings/cxx/gpiod.hpp bindings/cxx/line.cpp bindings/cxx/line_bulk.cpp+175 -00 replies
10/20bindings: cxx: tests: add tests for SET_CONFIG methodsbindings/cxx/tests/tests-line.cpp+128 -00 replies
11/20bindings: python: move tuple to int array conversion into helper functionbindings/python/gpiodmodule.c+36 -290 replies
12/20bindings: python: add support for SET_CONFIGbindings/python/gpiodmodule.c+346 -00 replies
13/20bindings: python: tests: add tests for SET_CONFIG methodsbindings/python/tests/gpiod_py_test.py+163 -00 replies
14/20tools: add support for bias flagstools/gpioget.c tools/gpiomon.c tools/gpioset.c +2 more+66 -150 replies
15/20tools: add tests for bias flagstools/gpio-tools-test tools/gpio-tools-test.bats+94 -10 replies
16/20tools: gpioset: add support for drive flagstools/gpioset.c+23 -10 replies
17/20tools: add tests for drive flagstools/gpio-tools-test.bats+82 -00 replies
18/20core: document gpiod_line_set_value_bulk NULL values behaviourinclude/gpiod.h+1 -00 replies
19/20bindings: cxx: fix indentation of wrapped field descriptionsbindings/cxx/gpiod.hpp+2 -20 replies
20/20bindings: python: make vals in gpiod_Line_set_value consistent with other functionsbindings/python/gpiodmodule.c+2 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [libgpiod][PATCH v4 00/20] Add support for bias flags and SET_CONFIG

Changes v3 -> v4:
- tests require kernel v5.5.0
- use std::map for bias mappings in cxx bindings
- drop gpiod_line_is_requested_values
- various formatting and coding style fixes
- relocate common tool code into tools-common
- tools bail on bad command line parameters
- add drive option to gpioset in a separate patch
- split out documentation update for gpiod_line_set_value_bulk
- split out change to vals variable in gpiod_Line_set_value

This patch series adds support for changes to the GPIO uAPI that are on track to be included in the v5.5 kernel. There are two components to the uAPI changes - the addition of bias flags and a new SET_CONFIG ioctl. This series adds support to the libgpiod API, and to both C++ and Python bindings, for both of those components.

The libgpiod tools are also updated, where appropriate, to support the bias flags.

The series is based on the current libgpiod master:
master@00418df tests: fix a typo in comment

Kent Gibson (20):
core: add support for bias flags
tests: add tests for bias flags
bindings: cxx: add support for bias flags
bindings: cxx: tests: add tests for bias flags
bindings: python: add support for bias flags
bindings: python: tests: add tests for bias flags
core: add support for SET_CONFIG
tests: add tests for SET_CONFIG
bindings: cxx: add support for SET_CONFIG
bindings: cxx: tests: add tests for SET_CONFIG methods
bindings: python: move tuple to int array conversion into helper
function
bindings: python: add support for SET_CONFIG
bindings: python: tests: add tests for SET_CONFIG methods
tools: add support for bias flags
tools: add tests for bias flags
tools: gpioset: add support for drive flags
tools: add tests for drive flags
core: document gpiod_line_set_value_bulk NULL values behaviour
bindings: cxx: fix indentation of wrapped field descriptions
bindings: python: make vals in gpiod_Line_set_value consistent with
other functions

 bindings/cxx/gpiod.hpp                 |  85 ++++-
 bindings/cxx/line.cpp                  |  56 +++
 bindings/cxx/line_bulk.cpp             |  89 +++++
 bindings/cxx/tests/gpiod-cxx-test.cpp  |   2 +-
 bindings/cxx/tests/tests-line.cpp      | 215 +++++++++++
 bindings/python/gpiodmodule.c          | 485 +++++++++++++++++++++++--
 bindings/python/tests/gpiod_py_test.py | 256 ++++++++++++-
 include/gpiod.h                        | 297 +++++++++++++++
 lib/core.c                             | 214 ++++++++++-
 lib/ctxless.c                          | 114 +++++-
 tests/gpiod-test.c                     |   4 +-
 tests/tests-ctxless.c                  |  64 +++-
 tests/tests-event.c                    | 120 ++++++
 tests/tests-line.c                     | 468 +++++++++++++++++++++++-
 tools/gpio-tools-test                  |   2 +-
 tools/gpio-tools-test.bats             | 175 +++++++++
 tools/gpioget.c                        |  17 +-
 tools/gpiomon.c                        |  21 +-
 tools/gpioset.c                        |  41 ++-
 tools/tools-common.c                   |  22 ++
 tools/tools-common.h                   |   2 +
 21 files changed, 2679 insertions(+), 70 deletions(-)
Signature · 1 line
2.24.0