[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1552330521-4276-38-git-send-email-info@metux.net>
Date: Mon, 11 Mar 2019 19:55:17 +0100
From: "Enrico Weigelt, metux IT consult" <info@...ux.net>
To: linux-kernel@...r.kernel.org
Cc: linus.walleij@...aro.org, bgolaszewski@...libre.com,
andrew@...id.au, f.fainelli@...il.com, sbranden@...adcom.com,
bcm-kernel-feedback-list@...adcom.com, hoan@...amperecomputing.com,
orsonzhai@...il.com, baolin.wang@...aro.org, zhang.lyra@...il.com,
keguang.zhang@...il.com, vz@...ia.com, matthias.bgg@...il.com,
thierry.reding@...il.com, grygorii.strashko@...com,
ssantosh@...nel.org, khilman@...nel.org, robert.jarzmik@...e.fr,
yamada.masahiro@...ionext.com, jun.nie@...aro.org,
shawnguo@...nel.org, linux-gpio@...r.kernel.org,
linux-mips@...r.kernel.org, linux-pwm@...r.kernel.org,
linux-omap@...r.kernel.org, linux-tegra@...r.kernel.org
Subject: [PATCH 38/42] drivers: gpio: vr41xx: use devm_platform_ioremap_resource()
Use the new helper that wraps the calls to platform_get_resource()
and devm_ioremap_resource() together.
this driver deserves a bit more cleanup, to get rid of the global
variable giu_base, which makes it single-instance-only.
Signed-off-by: Enrico Weigelt, metux IT consult <info@...ux.net>
---
drivers/gpio/gpio-vr41xx.c | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/drivers/gpio/gpio-vr41xx.c b/drivers/gpio/gpio-vr41xx.c
index b13a49c..98cd715 100644
--- a/drivers/gpio/gpio-vr41xx.c
+++ b/drivers/gpio/gpio-vr41xx.c
@@ -467,10 +467,9 @@ static int vr41xx_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
static int giu_probe(struct platform_device *pdev)
{
- struct resource *res;
unsigned int trigger, i, pin;
struct irq_chip *chip;
- int irq, ret;
+ int irq;
switch (pdev->id) {
case GPIO_50PINS_PULLUPDOWN:
@@ -489,21 +488,14 @@ static int giu_probe(struct platform_device *pdev)
return -ENODEV;
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res)
- return -EBUSY;
-
- giu_base = ioremap(res->start, resource_size(res));
- if (!giu_base)
- return -ENOMEM;
+ giu_base = devm_platform_ioremap_resource(pdev, 0);
+ if (IS_ERR(giu_base))
+ return PTR_ERR(giu_base);
vr41xx_gpio_chip.parent = &pdev->dev;
- ret = gpiochip_add_data(&vr41xx_gpio_chip, NULL);
- if (!ret) {
- iounmap(giu_base);
+ if (gpiochip_add_data(&vr41xx_gpio_chip, NULL))
return -ENODEV;
- }
giu_write(GIUINTENL, 0);
giu_write(GIUINTENH, 0);
@@ -534,7 +526,6 @@ static int giu_probe(struct platform_device *pdev)
static int giu_remove(struct platform_device *pdev)
{
if (giu_base) {
- iounmap(giu_base);
giu_base = NULL;
}
--
1.9.1
Powered by blists - more mailing lists