leds: ns2: use devres API for getting GPIO descriptors
authorMarek Behún <marek.behun@nic.cz>
Thu, 17 Sep 2020 22:33:28 +0000 (00:33 +0200)
committerPavel Machek <pavel@ucw.cz>
Sat, 26 Sep 2020 19:56:41 +0000 (21:56 +0200)
This drivers leaks GPIO descriptors on driver removal. Use devres API
function devm_gpiod_get_from_of_node instead of gpiod_get_from_of_node
to avoid this.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Cc: Simon Guinot <simon.guinot@sequanux.org>
Cc: Simon Guinot <sguinot@lacie.com>
Cc: Vincent Donnefort <vdonnefort@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Not-for-stable
Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-ns2.c

index 46d4f7e..fa06ab4 100644 (file)
@@ -240,13 +240,13 @@ static int ns2_leds_parse_one(struct device *dev, struct device_node *np,
        if (ret)
                led->name = np->name;
 
-       led->cmd = gpiod_get_from_of_node(np, "cmd-gpio", 0, GPIOD_ASIS,
-                                         led->name);
+       led->cmd = devm_gpiod_get_from_of_node(dev, np, "cmd-gpio", 0,
+                                              GPIOD_ASIS, led->name);
        if (IS_ERR(led->cmd))
                return PTR_ERR(led->cmd);
 
-       led->slow = gpiod_get_from_of_node(np, "slow-gpio", 0, GPIOD_ASIS,
-                                          led->name);
+       led->slow = devm_gpiod_get_from_of_node(dev, np, "slow-gpio", 0,
+                                               GPIOD_ASIS, led->name);
        if (IS_ERR(led->slow))
                return PTR_ERR(led->slow);