[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VeHZg1DC76sg1F-=49SfVLNhf4pG7ArcXHxjU0nXZOpWw@mail.gmail.com>
Date: Wed, 26 May 2021 11:42:11 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Matti Vaittinen <matti.vaittinen@...rohmeurope.com>
Cc: Matti Vaittinen <mazziesaccount@...il.com>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Michael Walle <michael@...le.cc>,
Florian Fainelli <f.fainelli@...il.com>,
bcm-kernel-feedback-list <bcm-kernel-feedback-list@...adcom.com>,
Jonas Gorski <jonas.gorski@...il.com>,
Álvaro Fernández Rojas <noltari@...il.com>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-power <linux-power@...rohmeurope.com>,
linux-arm Mailing List <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v4 0/3] gpio: gpio-regmap: Support few custom operations
On Wed, May 26, 2021 at 9:02 AM Matti Vaittinen
<matti.vaittinen@...rohmeurope.com> wrote:
>
> Support providing some IC specific operations at gpio_regmap registration.
>
> Implementation of few GPIO related functionalities are likely to be
> very IC specific. For example the pin-configuration registers and the
> pin validity checks. Allow IC driver to provide IC specific functions
> which gpio-regmap can utilize for these IC specific configurations.
> This should help broaden the gpio-regmap IC coverage without the need
> of exposing the registered gpio_chip or struct gpio_regmap to IC drivers.
>
> The set_config and init_valid_mask are used by ROHM BD71815 GPIO driver.
> Convert the BD71815 GPIO driver to use gpio-regmap and get rid of some
> code. Rest of the ROHM GPIO drivers are to be reworked after the
> mechanism of adding IC specific functions is settled.
>
> Some preliminary discussion can be seen here:
> https://lore.kernel.org/linux-gpio/c4faac648d3e0c7f3dcb50f7e24c8b322e8c6974.camel@fi.rohmeurope.com/
>
> I did also prepare change where the getters for drvdata and regmap
> are used. It can also work - but it does not scale quite as well
> if (when) IC drivers need some register information to do custom
> operations. Interested people can see the:
> https://github.com/M-Vaittinen/linux/commits/gpio-regmap-getters
> for comparison.
Entire series looks good to me,
Reviewed-by: Andy Shevchenko <andy.shevchenko@...il.com>
> Changelog v4:
> - Convert also the existing users.
>
> Changelog v3:
> - divide gpio_regmap into private part and part which contains
> user-visible configurations. This should allow keeping the internal
> data internal to gpio_regmap - while allowing the IC driver to re-use
> configurations it has provided to gpio-regmap without a need of
> storing them to private-data. Furthermore avoid implementing dummy
> 'getter-functions' for regmap, driver-data, register details,
> firmware node etc.
> - change devm_add_action() to devm_add_action_or_reset()
> - the bd71815 GPIO driver, completely drop private-data.
>
> Changelog v2:
> - Add cover-letter
> - Drop unnecessary checks for callback function validity
> - drop driver_data setting function as it is likely to be a
> race-condition-by-design
>
> ---
>
> Matti Vaittinen (3):
> gpio: regmap: Support few IC specific operations
> gpio: gpio-regmap: Use devm_add_action_or_reset()
> gpio: bd71815: Use gpio-regmap
>
> drivers/gpio/Kconfig | 1 +
> drivers/gpio/gpio-bd71815.c | 121 ++++-----------
> drivers/gpio/gpio-regmap.c | 212 +++++++++++++++-----------
> drivers/gpio/gpio-sl28cpld.c | 3 +-
> drivers/pinctrl/bcm/pinctrl-bcm63xx.c | 8 +-
> include/linux/gpio/regmap.h | 51 +++++--
> 6 files changed, 194 insertions(+), 202 deletions(-)
>
>
> base-commit: c4681547bcce777daf576925a966ffa824edd09d
> --
> 2.25.4
>
>
> --
> Matti Vaittinen, Linux device drivers
> ROHM Semiconductors, Finland SWDC
> Kiviharjunlenkki 1E
> 90220 OULU
> FINLAND
>
> ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
> Simon says - in Latin please.
> ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
> Thanks to Simon Glass for the translation =]
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists