[libgpiod,v3,00/14] Add support for bias flags and SET_CONFIG
mbox series

Message ID 20191125143157.26154-1-warthog618@gmail.com
Headers show
Series
  • Add support for bias flags and SET_CONFIG
Related show

Message

Kent Gibson Nov. 25, 2019, 2:31 p.m. UTC
Changes v2 -> v3:
 - rebase on core: deprecate gpiod_needs_update()
 - rework needs_update related logic in core: add support for SET_CONFIG

Changes v1 -> v2:
 - address all v1 review comments
 - tools accept bias flag field rather than individual flags
 - add tests for tool changes
 
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@2964441 core: deprecate gpiod_needs_update()

Kent Gibson (14):
  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: 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 and drive flags

 bindings/cxx/gpiod.hpp                 |  81 +++++
 bindings/cxx/line.cpp                  |  56 +++
 bindings/cxx/line_bulk.cpp             |  89 +++++
 bindings/cxx/tests/tests-line.cpp      | 215 ++++++++++++
 bindings/python/gpiodmodule.c          | 463 +++++++++++++++++++++++-
 bindings/python/tests/gpiod_py_test.py | 254 ++++++++++++++
 include/gpiod.h                        | 306 ++++++++++++++++
 lib/core.c                             | 219 +++++++++++-
 lib/ctxless.c                          | 114 +++++-
 tests/tests-ctxless.c                  |  64 +++-
 tests/tests-event.c                    | 120 +++++++
 tests/tests-line.c                     | 468 ++++++++++++++++++++++++-
 tools/gpio-tools-test.bats             | 139 ++++++++
 tools/gpioget.c                        |  32 +-
 tools/gpiomon.c                        |  36 +-
 tools/gpioset.c                        |  54 ++-
 16 files changed, 2669 insertions(+), 41 deletions(-)