From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Kent Gibson <warthog618@gmail.com>,
Erik Schilling <erik.schilling@linaro.org>,
Phil Howard <phil@gadgetoid.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
linux-gpio@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: Re: [libgpiod][RFC/RFT 00/18] dbus: add GLib-based DBus daemon and command-line client
Date: Tue, 23 Apr 2024 20:41:00 +0300 [thread overview]
Message-ID: <ZifyrLNQ9AV0ohBt@smile.fi.intel.com> (raw)
In-Reply-To: <20240412122804.109323-1-brgl@bgdev.pl>
On Fri, Apr 12, 2024 at 02:27:46PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> This has been in the works for a long time but I'm finally ready to share it
> with the world. This introduces the DBus API definition and its implementation
> in the form of a GPIO manager daemon and a companion command-line client as
> well as GLib bindings to libgpiod which form the base on which the former are
> built.
>
> Please note that while the functionality is complete, the dbus part still
> requires some work (bug fixing, corner-cases, general ironing out of all the
> wrinkles, a lot of code could be refactored too). This is why the series is
> marked as RFC/RFT. I want to get it out for reviews and first tests before I
> leave for EOSS and later on vacation. I am aware of some instabilities so don't
> be surprised by an occasional segfault.
>
> While I split the GLib and DBus code into several commits for easier review,
> I intend to apply all changes to bindings/glib/ and dbus/ as two big commits
> in the end as otherwise the split commits are not buildable until all of them
> are applied.
>
> The main point of interest is the DBus interface definition XML at
> dbus/lib/io.gpiod1.xml as it is what defines the actual DBus API. Everything
> else can be considered as implementation details as it's easier to change
> later than the API that's supposed to be stable once released.
>
> The first two patches expose the test infrastructure we use for the core
> library and tools to the GLib bindings and dbus code. Next we add the GLib
> bindings themselves. Not much to discuss here, they cover the entire libgpiod
> API but wrap it in GObject abstractions and plug into the GLib event loop.
>
> Finally we add the DBus code that's split into the daemon and command-line
> client. I added some examples to the README and documented the behavior in
> the help text of the programs as well as documented the interface file with
> XML comments that gdbus-codegen can parse and use to generate docbook output.
>
> For DBus, most of the testing happens in the command-line client bash tests.
> It has a very good coverage of the daemon's code and also allows to run the
> daemon through valgrind and verify there are no memory leaks and invalid
> accesses. I still intend to extend the C test-suite for DBus with some corner
> cases but didn't not have enough time for it.
I might have time to briefly look at this code, but I can't test right away as
I have no setup that uses D-Bus, all what I use is a simplest Buildroot +
Busybox.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2024-04-23 17:41 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-12 12:27 [libgpiod][RFC/RFT 00/18] dbus: add GLib-based DBus daemon and command-line client Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 01/18] tests: split out reusable test code into a local static library Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 02/18] tests: split out the common test code for bash scripts Bartosz Golaszewski
2024-04-23 18:17 ` Andy Shevchenko
2024-05-24 17:59 ` Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 03/18] bindings: glib: add build files Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 04/18] bindings: glib: add public headers Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 05/18] bindings: glib: add core code Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 06/18] bindings: glib: add examples Bartosz Golaszewski
2024-04-23 18:23 ` Andy Shevchenko
2024-05-24 18:22 ` Bartosz Golaszewski
2024-05-27 19:51 ` Andy Shevchenko
2024-05-27 20:01 ` Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 07/18] bindings: glib: add tests Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 08/18] README: document GLib bindings Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 09/18] dbus: add build files Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 10/18] dbus: add the API definitions Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 11/18] dbus: add a wrapper around the gdbus-codegen generated header Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 12/18] dbus: add data files Bartosz Golaszewski
2024-04-12 12:27 ` [libgpiod][RFC/RFT 13/18] dbus: add gpio-manager code Bartosz Golaszewski
2024-04-12 12:28 ` [libgpiod][RFC/RFT 14/18] dbus: add tests Bartosz Golaszewski
2024-04-12 12:28 ` [libgpiod][RFC/RFT 15/18] dbus: add a command-line client Bartosz Golaszewski
2024-04-12 12:28 ` [libgpiod][RFC/RFT 16/18] dbus: client: add tests Bartosz Golaszewski
2024-04-12 12:28 ` [libgpiod][RFC/RFT 17/18] README: document the DBus API Bartosz Golaszewski
2024-04-12 12:28 ` [libgpiod][RFC/RFT 18/18] TODO: drop the DBus daemon from the list Bartosz Golaszewski
2024-04-23 17:41 ` Andy Shevchenko [this message]
2024-04-23 17:44 ` [libgpiod][RFC/RFT 00/18] dbus: add GLib-based DBus daemon and command-line client Bartosz Golaszewski
2024-06-28 16:16 ` Sverdlin, Alexander
2024-06-28 19:04 ` Bartosz Golaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZifyrLNQ9AV0ohBt@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=erik.schilling@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=phil@gadgetoid.com \
--cc=viresh.kumar@linaro.org \
--cc=warthog618@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).