mbox series

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

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

Message

Kent Gibson Nov. 15, 2019, 2:43 p.m. UTC
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.

There are a few additional patches that serve to restructure the code to
simplify subsequent patches, or to fix minor problems discovered during
development. These patches are generally adjacent to the main patch most
relevant to that patch.

The series is based on the current libgpiod master@9ed02fc.

Kent Gibson (19):
  core: move request flag to handle flag conversion into a separate
    function
  API: add support for bias flags
  core: fix misspelling of parameter
  tests: add tests for bias flags
  bindings: cxx: drop noexcept from direction and active_state
  bindings: cxx: initialise bitset with integer instead of string
  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
  API: add support for SET_CONFIG
  tests: add tests for SET_CONFIG
  core: allow gpiod_line_set_value_bulk to accept null values
  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
  treewide: change "correspond with" to "correspond to"

 bindings/cxx/gpiod.hpp                 |  85 +++-
 bindings/cxx/line.cpp                  |  60 ++-
 bindings/cxx/line_bulk.cpp             |  95 ++++-
 bindings/cxx/tests/tests-line.cpp      | 215 ++++++++++
 bindings/python/gpiodmodule.c          | 469 +++++++++++++++++++++-
 bindings/python/tests/gpiod_py_test.py | 254 ++++++++++++
 include/gpiod.h                        | 303 +++++++++++++-
 lib/core.c                             | 250 ++++++++++--
 lib/ctxless.c                          | 115 +++++-
 tests/mockup/gpio-mockup.c             |   2 +-
 tests/tests-ctxless.c                  |  64 ++-
 tests/tests-event.c                    | 120 ++++++
 tests/tests-line.c                     | 522 ++++++++++++++++++++++++-
 tools/gpioget.c                        |  24 +-
 tools/gpiomon.c                        |  28 +-
 tools/gpioset.c                        |  26 +-
 16 files changed, 2561 insertions(+), 71 deletions(-)

Comments

Bartosz Golaszewski Nov. 18, 2019, 1:50 p.m. UTC | #1
pt., 15 lis 2019 o 15:44 Kent Gibson <warthog618@gmail.com> napisał(a):
>
> 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.
>
> There are a few additional patches that serve to restructure the code to
> simplify subsequent patches, or to fix minor problems discovered during
> development. These patches are generally adjacent to the main patch most
> relevant to that patch.
>
> The series is based on the current libgpiod master@9ed02fc.
>
> Kent Gibson (19):
>   core: move request flag to handle flag conversion into a separate
>     function
>   API: add support for bias flags
>   core: fix misspelling of parameter
>   tests: add tests for bias flags
>   bindings: cxx: drop noexcept from direction and active_state
>   bindings: cxx: initialise bitset with integer instead of string
>   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
>   API: add support for SET_CONFIG
>   tests: add tests for SET_CONFIG
>   core: allow gpiod_line_set_value_bulk to accept null values
>   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
>   treewide: change "correspond with" to "correspond to"
>
>  bindings/cxx/gpiod.hpp                 |  85 +++-
>  bindings/cxx/line.cpp                  |  60 ++-
>  bindings/cxx/line_bulk.cpp             |  95 ++++-
>  bindings/cxx/tests/tests-line.cpp      | 215 ++++++++++
>  bindings/python/gpiodmodule.c          | 469 +++++++++++++++++++++-
>  bindings/python/tests/gpiod_py_test.py | 254 ++++++++++++
>  include/gpiod.h                        | 303 +++++++++++++-
>  lib/core.c                             | 250 ++++++++++--
>  lib/ctxless.c                          | 115 +++++-
>  tests/mockup/gpio-mockup.c             |   2 +-
>  tests/tests-ctxless.c                  |  64 ++-
>  tests/tests-event.c                    | 120 ++++++
>  tests/tests-line.c                     | 522 ++++++++++++++++++++++++-
>  tools/gpioget.c                        |  24 +-
>  tools/gpiomon.c                        |  28 +-
>  tools/gpioset.c                        |  26 +-
>  16 files changed, 2561 insertions(+), 71 deletions(-)
>
> --
> 2.24.0
>

Hi Kent,

the series looks quite good. I addressed some obvious things. I'll
review v2 more in detail, but honestly, I don't think there'll be a
lot of issues.

Would you mind if I applied patches 1, 3, 5, 6, 13 & 19 right away?
They fix existing problems, so there's no need to carry them over to
subsequent iterations of the series.

Bart
Kent Gibson Nov. 18, 2019, 2:09 p.m. UTC | #2
On Mon, Nov 18, 2019 at 02:50:57PM +0100, Bartosz Golaszewski wrote:
> pt., 15 lis 2019 o 15:44 Kent Gibson <warthog618@gmail.com> napisał(a):
> >
> > 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.
> >
> > There are a few additional patches that serve to restructure the code to
> > simplify subsequent patches, or to fix minor problems discovered during
> > development. These patches are generally adjacent to the main patch most
> > relevant to that patch.
> >
> > The series is based on the current libgpiod master@9ed02fc.
> >
> > Kent Gibson (19):
> >   core: move request flag to handle flag conversion into a separate
> >     function
> >   API: add support for bias flags
> >   core: fix misspelling of parameter
> >   tests: add tests for bias flags
> >   bindings: cxx: drop noexcept from direction and active_state
> >   bindings: cxx: initialise bitset with integer instead of string
> >   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
> >   API: add support for SET_CONFIG
> >   tests: add tests for SET_CONFIG
> >   core: allow gpiod_line_set_value_bulk to accept null values
> >   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
> >   treewide: change "correspond with" to "correspond to"
> >
> >  bindings/cxx/gpiod.hpp                 |  85 +++-
> >  bindings/cxx/line.cpp                  |  60 ++-
> >  bindings/cxx/line_bulk.cpp             |  95 ++++-
> >  bindings/cxx/tests/tests-line.cpp      | 215 ++++++++++
> >  bindings/python/gpiodmodule.c          | 469 +++++++++++++++++++++-
> >  bindings/python/tests/gpiod_py_test.py | 254 ++++++++++++
> >  include/gpiod.h                        | 303 +++++++++++++-
> >  lib/core.c                             | 250 ++++++++++--
> >  lib/ctxless.c                          | 115 +++++-
> >  tests/mockup/gpio-mockup.c             |   2 +-
> >  tests/tests-ctxless.c                  |  64 ++-
> >  tests/tests-event.c                    | 120 ++++++
> >  tests/tests-line.c                     | 522 ++++++++++++++++++++++++-
> >  tools/gpioget.c                        |  24 +-
> >  tools/gpiomon.c                        |  28 +-
> >  tools/gpioset.c                        |  26 +-
> >  16 files changed, 2561 insertions(+), 71 deletions(-)
> >
> > --
> > 2.24.0
> >
> 
> Hi Kent,
> 
> the series looks quite good. I addressed some obvious things. I'll
> review v2 more in detail, but honestly, I don't think there'll be a
> lot of issues.
> 
> Would you mind if I applied patches 1, 3, 5, 6, 13 & 19 right away?
> They fix existing problems, so there's no need to carry them over to
> subsequent iterations of the series.
> 

I don't have a problem with that.

Cheers,
Kent.
Bartosz Golaszewski Nov. 18, 2019, 2:55 p.m. UTC | #3
pon., 18 lis 2019 o 15:09 Kent Gibson <warthog618@gmail.com> napisał(a):
>
> On Mon, Nov 18, 2019 at 02:50:57PM +0100, Bartosz Golaszewski wrote:
> > pt., 15 lis 2019 o 15:44 Kent Gibson <warthog618@gmail.com> napisał(a):
> > >
> > > 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.
> > >
> > > There are a few additional patches that serve to restructure the code to
> > > simplify subsequent patches, or to fix minor problems discovered during
> > > development. These patches are generally adjacent to the main patch most
> > > relevant to that patch.
> > >
> > > The series is based on the current libgpiod master@9ed02fc.
> > >
> > > Kent Gibson (19):
> > >   core: move request flag to handle flag conversion into a separate
> > >     function
> > >   API: add support for bias flags
> > >   core: fix misspelling of parameter
> > >   tests: add tests for bias flags
> > >   bindings: cxx: drop noexcept from direction and active_state
> > >   bindings: cxx: initialise bitset with integer instead of string
> > >   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
> > >   API: add support for SET_CONFIG
> > >   tests: add tests for SET_CONFIG
> > >   core: allow gpiod_line_set_value_bulk to accept null values
> > >   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
> > >   treewide: change "correspond with" to "correspond to"
> > >
> > >  bindings/cxx/gpiod.hpp                 |  85 +++-
> > >  bindings/cxx/line.cpp                  |  60 ++-
> > >  bindings/cxx/line_bulk.cpp             |  95 ++++-
> > >  bindings/cxx/tests/tests-line.cpp      | 215 ++++++++++
> > >  bindings/python/gpiodmodule.c          | 469 +++++++++++++++++++++-
> > >  bindings/python/tests/gpiod_py_test.py | 254 ++++++++++++
> > >  include/gpiod.h                        | 303 +++++++++++++-
> > >  lib/core.c                             | 250 ++++++++++--
> > >  lib/ctxless.c                          | 115 +++++-
> > >  tests/mockup/gpio-mockup.c             |   2 +-
> > >  tests/tests-ctxless.c                  |  64 ++-
> > >  tests/tests-event.c                    | 120 ++++++
> > >  tests/tests-line.c                     | 522 ++++++++++++++++++++++++-
> > >  tools/gpioget.c                        |  24 +-
> > >  tools/gpiomon.c                        |  28 +-
> > >  tools/gpioset.c                        |  26 +-
> > >  16 files changed, 2561 insertions(+), 71 deletions(-)
> > >
> > > --
> > > 2.24.0
> > >
> >
> > Hi Kent,
> >
> > the series looks quite good. I addressed some obvious things. I'll
> > review v2 more in detail, but honestly, I don't think there'll be a
> > lot of issues.
> >
> > Would you mind if I applied patches 1, 3, 5, 6, 13 & 19 right away?
> > They fix existing problems, so there's no need to carry them over to
> > subsequent iterations of the series.
> >
>
> I don't have a problem with that.
>

Done. You should be able to rebase on top of my master branch. Let's
hope there are no conflicts - I had to fix up a couple details.

Bart

> Cheers,
> Kent.