Re: [PATCH 0/5] RTL8231 GPIO expander support

From: Michael Walle
Date: Tue Jun 01 2021 - 07:49:47 EST


Am 2021-05-31 17:48, schrieb Andy Shevchenko:
On Mon, May 31, 2021 at 6:33 PM Sander Vanheule <sander@xxxxxxxxxxxxx> wrote:
On Mon, 2021-05-31 at 14:16 +0300, Andy Shevchenko wrote:
> On Monday, May 31, 2021, Michael Walle <michael@xxxxxxxx> wrote:
> > Am 2021-05-31 10:36, schrieb Sander Vanheule:

Am I missing something here? It seems to me like the regmap interface can't
really accommodate what's required, unless maybe the rtl8231 regmap users
perform some manual locking. This all seems terribly complicated compared to
using an internal output-value cache inside regmap-gpio.

Have you had a chance to look into the PCA953x driver?
Sounds to me that you are missing the APIs that regmap provides.

What would that be? The register cache? We need to cache the
value somehow, because (still assuming it is write only) we cannot
read it back. Thus the read of the RMW, would need get the
value from the cache. Thus the user of gpio-regmap would need
to make sure, to (a) use a cache for the regmap supplied to
gpio-regmap and (b) populate its initial values correctly. Is
that what you are suggesting? And hopefully, no other user
of the regmap will call regcache_mark_dirty() or something
like that.

I had a quick look at the PCA953x driver but it all its
registers are readable according to the comment on the top
of the file.

-michael