mbox series

[libgpiod,0/6] treewide: another bunch of cleanups for v2.0

Message ID 20210309132639.29069-1-brgl@bgdev.pl
Headers show
Series treewide: another bunch of cleanups for v2.0 | expand

Message

Bartosz Golaszewski March 9, 2021, 1:26 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Kent suggested I send the patches for v2.0 API in smaller batches for earlier
review instead of dropping a huge patch bomb that will require more work from
my side and may later be negatively reviewed so here's a hopefully the last
part of cleanups that can go into master already before first patches with the
new C API will drop.

The idea for the new C API is this: all objects are opaque and refcounted. This
is why the chip was converted to reference counting. Lines were removed and
their functionality split into line_info and line_request, this is why I'm
reworking line lookup to return the HW offset within a chip and not the line
object. Other patches are mostly cleanups and cruft shave-off.

Bartosz Golaszewski (6):
  treewide: simplify line lookup
  tests: remove line bulk test cases
  core: switch to reference counting for gpio chip objects
  treewide: remove is_requested() and is_free()
  treewide: kill line updating
  core: hide the GPIOD_API symbol

 bindings/cxx/Makefile.am               |   2 +-
 bindings/cxx/chip.cpp                  |  54 +++---
 bindings/cxx/examples/gpiofindcxx.cpp  |   7 +-
 bindings/cxx/gpiod.hpp                 | 249 ++++++++++++-------------
 bindings/cxx/internal.hpp              |   9 +
 bindings/cxx/iter.cpp                  |  18 +-
 bindings/cxx/line.cpp                  |  86 ++++-----
 bindings/cxx/line_bulk.cpp             |  78 ++++----
 bindings/cxx/tests/tests-chip.cpp      |   6 +-
 bindings/cxx/tests/tests-line.cpp      |  57 ------
 bindings/python/examples/gpiofind.py   |   7 +-
 bindings/python/gpiodmodule.c          | 101 ++--------
 bindings/python/tests/gpiod_py_test.py |  49 +----
 include/gpiod.h                        | 229 +++++++++--------------
 lib/Makefile.am                        |   2 +-
 lib/core.c                             | 195 ++++++++++---------
 lib/helpers.c                          | 155 ++++++---------
 lib/internal.h                         |  11 ++
 lib/misc.c                             |   4 +-
 tests/Makefile.am                      |   1 -
 tests/gpiod-test.h                     |   2 +-
 tests/tests-bulk.c                     | 145 --------------
 tests/tests-chip.c                     |  17 +-
 tools/gpiodetect.c                     |   2 +-
 tools/gpiofind.c                       |  11 +-
 tools/gpioget.c                        |   2 +-
 tools/gpioinfo.c                       |   4 +-
 tools/gpiomon.c                        |   2 +-
 tools/gpioset.c                        |   2 +-
 29 files changed, 547 insertions(+), 960 deletions(-)
 create mode 100644 bindings/cxx/internal.hpp
 create mode 100644 lib/internal.h
 delete mode 100644 tests/tests-bulk.c

Comments

Bartosz Golaszewski March 17, 2021, 10:25 a.m. UTC | #1
On Tue, Mar 9, 2021 at 2:26 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>

> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

>

> Kent suggested I send the patches for v2.0 API in smaller batches for earlier

> review instead of dropping a huge patch bomb that will require more work from

> my side and may later be negatively reviewed so here's a hopefully the last

> part of cleanups that can go into master already before first patches with the

> new C API will drop.

>

> The idea for the new C API is this: all objects are opaque and refcounted. This

> is why the chip was converted to reference counting. Lines were removed and

> their functionality split into line_info and line_request, this is why I'm

> reworking line lookup to return the HW offset within a chip and not the line

> object. Other patches are mostly cleanups and cruft shave-off.

>

> Bartosz Golaszewski (6):

>   treewide: simplify line lookup

>   tests: remove line bulk test cases

>   core: switch to reference counting for gpio chip objects

>   treewide: remove is_requested() and is_free()

>   treewide: kill line updating

>   core: hide the GPIOD_API symbol

>


If there are no objections, I will apply those soon.

Bart