[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdYePmAmrZN=GS58muzhxPUPKkenbgPQZmcct-0G5Ohc_g@mail.gmail.com>
Date: Tue, 23 Jan 2024 22:50:52 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: "Paller, Kim Seer" <KimSeer.Paller@...log.com>
Cc: Bartosz Golaszewski <brgl@...ev.pl>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Conor Dooley <conor+dt@...nel.org>
Subject: Re: [PATCH 2/2] gpio: gpio-adg1414: New driver
Hi Kim,
On Tue, Jan 23, 2024 at 11:31 AM Paller, Kim Seer
<KimSeer.Paller@...log.com> wrote:
> > Locking here is simple enough that you could use the SPI regmap and
> > get it to do the serialization for you. And then you could possibly
> > reuse the gpio-regmap abstraction and get an even smaller footprint.
>
> I could not seem to figure out how to use the SPI regmap in this case.
> Since the number of daisy-chained devices depends on the length of
> data transferred with continuous transaction, I could not determine
> how to implement that using the SPI regmap. Or maybe I misunderstood
> the statement. However, is it still acceptable to use the current approach?
You just override or wrap with your own read/write callbacks if necessary
by defining a custom static struct regmap_bus.
For example in drivers/gpu/drm/panel/panel-ilitek-ili9322.c
I do this.
It may not save a lot of code in this case but it's still worth it because
we understand what regmap_read/write/update_bits do and reading
and understanding adg1414_set/get cognitively require more from us
as maintainers.
Yours,
Linus Walleij
Powered by blists - more mailing lists