[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VfgQw09KJ5pMNz7fnia-pzK8sMGKn6NJkmNEWLzo5GffA@mail.gmail.com>
Date: Fri, 21 May 2021 13:10:39 +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>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-power <linux-power@...rohmeurope.com>
Subject: Re: [PATCH v2 2/3] gpio: gpio-regmap: Use devm_add_action()
On Fri, May 21, 2021 at 12:54 PM Matti Vaittinen
<matti.vaittinen@...rohmeurope.com> wrote:
>
> Slightly simplify the devm_gpio_regmap_register() by using the
> devm_add_action().
Reviewed-by: Andy Shevchenko <andy.shevchenko@...il.com>
> Signed-off-by: Matti Vaittinen <matti.vaittinen@...rohmeurope.com>
> ---
> Changelog:
> - New patch at v2
>
> drivers/gpio/gpio-regmap.c | 20 ++++++--------------
> 1 file changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
> index c05370e984b9..4555e59f916e 100644
> --- a/drivers/gpio/gpio-regmap.c
> +++ b/drivers/gpio/gpio-regmap.c
> @@ -341,9 +341,9 @@ void gpio_regmap_unregister(struct gpio_regmap *gpio)
> }
> EXPORT_SYMBOL_GPL(gpio_regmap_unregister);
>
> -static void devm_gpio_regmap_unregister(struct device *dev, void *res)
> +static void devm_gpio_regmap_unregister(void *res)
> {
> - gpio_regmap_unregister(*(struct gpio_regmap **)res);
> + gpio_regmap_unregister(res);
> }
>
> /**
> @@ -360,20 +360,12 @@ static void devm_gpio_regmap_unregister(struct device *dev, void *res)
> struct gpio_regmap *devm_gpio_regmap_register(struct device *dev,
> const struct gpio_regmap_config *config)
> {
> - struct gpio_regmap **ptr, *gpio;
> -
> - ptr = devres_alloc(devm_gpio_regmap_unregister, sizeof(*ptr),
> - GFP_KERNEL);
> - if (!ptr)
> - return ERR_PTR(-ENOMEM);
> + struct gpio_regmap *gpio;
>
> gpio = gpio_regmap_register(config);
> - if (!IS_ERR(gpio)) {
> - *ptr = gpio;
> - devres_add(dev, ptr);
> - } else {
> - devres_free(ptr);
> - }
> +
> + if (!IS_ERR(gpio))
> + devm_add_action(dev, devm_gpio_regmap_unregister, gpio);
>
> return gpio;
> }
> --
> 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