mbox series

[libgpiod,v4,00/20] Add support for bias flags and SET_CONFIG

Message ID 20191201032407.23589-1-warthog618@gmail.com
Headers show
Series Add support for bias flags and SET_CONFIG | expand

Message

Kent Gibson Dec. 1, 2019, 3:23 a.m. UTC
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(-)

Comments

Bartosz Golaszewski Dec. 10, 2019, 4:06 p.m. UTC | #1
niedz., 1 gru 2019 o 04:24 Kent Gibson <warthog618@gmail.com> napisał(a):
>
>  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(-)
>
> --
> 2.24.0
>

I applied the entire series with some very minor tweaks to coding
style and commit messages. Great work! Let's fix any leftover bugs (if
any) during this linux release cycle and release libgpiod v1.5
together with linux v5.5.

Best regards,
Bartosz Golaszewski