All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kent Gibson <warthog618@gmail.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	linux-gpio@vger.kernel.org
Subject: Re: [libgpiod v2][PATCH v2] treewide: rework line configuration
Date: Fri, 23 Sep 2022 08:11:06 +0800	[thread overview]
Message-ID: <Yyz5mpl/6h6UJC6N@sol> (raw)
In-Reply-To: <CAMRc=Mfj74JKgQNcYBySkpU_CXsA1xcPAEYa4YaKdH6TTvOktQ@mail.gmail.com>

On Thu, Sep 22, 2022 at 02:25:43PM +0200, Bartosz Golaszewski wrote:
> On Tue, Sep 13, 2022 at 6:14 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > This tries to get rid of the concept of defaults and overrides for line
> > properties from the library (or rather hide them from the users). While
> > this makes the C API a bit more complex, it allows for a more elegant
> > high-level interface.
> >
> > This patch is pretty big but I'll just give an overview here. I don't
> > expect a detailed review of every line.
> >
> > Low-level data structure model (as seen in the C API):
> >
> > We're adding a new structure - line_settings. It's a basic data class
> > that stores a set of line properties. The line_config object is simplified
> > and becomes a storage for the mappings between offsets and line_settings.
> >
> > We no longer require the user to store the offsets array in the
> > request_config. The offsets to request are simply those for which the
> > user explicitly added settings to the line_config. Subsequently, the
> > request_config structure becomes optional for the request.
> >
> > In C++ bindings this allows us to implement an elegant interface with
> > rust-like chained mutators. To that end, we're also introducing a new
> > intermediate class called request_builder that's returned by the chip's
> > prepare_request() method which exposes routines for storing the line
> > and request configs for the request we're making. For examples of
> > usage - see C++ tests and samples.
> >
> > Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
> 
> I merged this into next/libgpiod-2.0. Same for the gpiosim rework for
> C++. I want to progress on the python bindings front, get that into
> master and apply the tools changes and get those Rust bindings in too.
> 
> If there are some issues, we can rework them later when doing a new
> API review before tagging v2.0-rc1.
> 

I have my tool updates rebased to that (in the twools_v3 branch in my
github repo - in case I get hit by a bus), but can you update to the
latest gpio.h and add the corresponding GPIOD_LINE_EVENT_CLOCK_HTE so we
can support HTE?

Cheers,
Kent.


  reply	other threads:[~2022-09-23  0:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-13 16:14 [libgpiod v2][PATCH v2] treewide: rework line configuration Bartosz Golaszewski
2022-09-14 10:13 ` Andy Shevchenko
2022-09-14 11:58   ` Bartosz Golaszewski
2022-09-22 12:25 ` Bartosz Golaszewski
2022-09-23  0:11   ` Kent Gibson [this message]
2022-09-23  8:13     ` 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=Yyz5mpl/6h6UJC6N@sol \
    --to=warthog618@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=brgl@bgdev.pl \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=viresh.kumar@linaro.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.