From: Russell King Date: Sun, 4 Sep 2016 20:50:47 +0000 (+0100) Subject: pcmcia: soc_common: use devm_gpio_request_one() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=59ecfefad53ce39f880a9c8b503fe99235f4b94d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git pcmcia: soc_common: use devm_gpio_request_one() Use devm_gpio_request_one() to request the GPIOs so we can avoid manual clean up these gpio resources. Signed-off-by: Russell King --- diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c index d5ca760c4eb2..24ac27f9a119 100644 --- a/drivers/pcmcia/soc_common.c +++ b/drivers/pcmcia/soc_common.c @@ -111,12 +111,9 @@ static void __soc_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt, { unsigned int i; - for (i = 0; i < nr; i++) { + for (i = 0; i < nr; i++) if (skt->stat[i].irq) free_irq(skt->stat[i].irq, skt); - if (gpio_is_valid(skt->stat[i].gpio)) - gpio_free(skt->stat[i].gpio); - } if (skt->ops->hw_shutdown) skt->ops->hw_shutdown(skt); @@ -145,8 +142,9 @@ static int soc_pcmcia_hw_init(struct soc_pcmcia_socket *skt) if (gpio_is_valid(skt->stat[i].gpio)) { int irq; - ret = gpio_request_one(skt->stat[i].gpio, GPIOF_IN, - skt->stat[i].name); + ret = devm_gpio_request_one(skt->socket.dev.parent, + skt->stat[i].gpio, GPIOF_IN, + skt->stat[i].name); if (ret) { __soc_pcmcia_hw_shutdown(skt, i); return ret; @@ -166,8 +164,6 @@ static int soc_pcmcia_hw_init(struct soc_pcmcia_socket *skt) IRQF_TRIGGER_NONE, skt->stat[i].name, skt); if (ret) { - if (gpio_is_valid(skt->stat[i].gpio)) - gpio_free(skt->stat[i].gpio); __soc_pcmcia_hw_shutdown(skt, i); return ret; }