This patch moves the resources allocated using gpio_request_array to the
managed interface and removes the calls to gpio_free_array in the probe
and remove functions.

Signed-off-by: Himangi Saraogi <[email protected]>
Acked-by: Julia Lawall <[email protected]>
---
 sound/soc/pxa/e800_wm9712.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/sound/soc/pxa/e800_wm9712.c b/sound/soc/pxa/e800_wm9712.c
index 24c2078..dbc3670 100644
--- a/sound/soc/pxa/e800_wm9712.c
+++ b/sound/soc/pxa/e800_wm9712.c
@@ -112,19 +112,17 @@ static int e800_probe(struct platform_device *pdev)
        struct snd_soc_card *card = &e800;
        int ret;
 
-       ret = gpio_request_array(e800_audio_gpios,
-                                ARRAY_SIZE(e800_audio_gpios));
+       ret = devm_gpio_request_array(&pdev->dev, e800_audio_gpios,
+                                     ARRAY_SIZE(e800_audio_gpios));
        if (ret)
                return ret;
 
        card->dev = &pdev->dev;
 
        ret = snd_soc_register_card(card);
-       if (ret) {
+       if (ret)
                dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n",
                        ret);
-               gpio_free_array(e800_audio_gpios, ARRAY_SIZE(e800_audio_gpios));
-       }
        return ret;
 }
 
@@ -132,7 +130,6 @@ static int e800_remove(struct platform_device *pdev)
 {
        struct snd_soc_card *card = platform_get_drvdata(pdev);
 
-       gpio_free_array(e800_audio_gpios, ARRAY_SIZE(e800_audio_gpios));
        snd_soc_unregister_card(card);
        return 0;
 }
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to