diff mbox series

gpio: mmio: use devm_platform_ioremap_resource_byname()

Message ID 1581690602-345-1-git-send-email-qiwuchen55@gmail.com
State New
Headers show
Series gpio: mmio: use devm_platform_ioremap_resource_byname() | expand

Commit Message

qiwuchen55@gmail.com Feb. 14, 2020, 2:30 p.m. UTC
From: chenqiwu <chenqiwu@xiaomi.com>

Use devm_platform_ioremap_resource_byname() instead of calling
platform_get_resource_byname() and devm_ioremap_resource() separately.

Signed-off-by: chenqiwu <chenqiwu@xiaomi.com>
---
 drivers/gpio/gpio-mmio.c | 26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)

Comments

Bartosz Golaszewski Feb. 17, 2020, 10:02 a.m. UTC | #1
pt., 14 lut 2020 o 15:30 <qiwuchen55@gmail.com> napisaƂ(a):
>
> From: chenqiwu <chenqiwu@xiaomi.com>
>
> Use devm_platform_ioremap_resource_byname() instead of calling
> platform_get_resource_byname() and devm_ioremap_resource() separately.
>
> Signed-off-by: chenqiwu <chenqiwu@xiaomi.com>
> ---
>  drivers/gpio/gpio-mmio.c | 26 +++++++-------------------
>  1 file changed, 7 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
> index f729e3e..5cfef3c 100644
> --- a/drivers/gpio/gpio-mmio.c
> +++ b/drivers/gpio/gpio-mmio.c
> @@ -655,21 +655,9 @@ int bgpio_init(struct gpio_chip *gc, struct device *dev,
>  #if IS_ENABLED(CONFIG_GPIO_GENERIC_PLATFORM)
>
>  static void __iomem *bgpio_map(struct platform_device *pdev,
> -                              const char *name,
> -                              resource_size_t sane_sz)
> +                              const char *name)
>  {
> -       struct resource *r;
> -       resource_size_t sz;
> -
> -       r = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
> -       if (!r)
> -               return NULL;
> -
> -       sz = resource_size(r);
> -       if (sz != sane_sz)
> -               return IOMEM_ERR_PTR(-EINVAL);
> -
> -       return devm_ioremap_resource(&pdev->dev, r);
> +       return devm_platform_ioremap_resource_byname(pdev, name);
>  }
>
>  #ifdef CONFIG_OF
> @@ -742,23 +730,23 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
>
>         sz = resource_size(r);
>
> -       dat = bgpio_map(pdev, "dat", sz);
> +       dat = bgpio_map(pdev, "dat");
>         if (IS_ERR(dat))
>                 return PTR_ERR(dat);
>
> -       set = bgpio_map(pdev, "set", sz);
> +       set = bgpio_map(pdev, "set");
>         if (IS_ERR(set))
>                 return PTR_ERR(set);
>
> -       clr = bgpio_map(pdev, "clr", sz);
> +       clr = bgpio_map(pdev, "clr");
>         if (IS_ERR(clr))
>                 return PTR_ERR(clr);
>
> -       dirout = bgpio_map(pdev, "dirout", sz);
> +       dirout = bgpio_map(pdev, "dirout");
>         if (IS_ERR(dirout))
>                 return PTR_ERR(dirout);
>
> -       dirin = bgpio_map(pdev, "dirin", sz);
> +       dirin = bgpio_map(pdev, "dirin");
>         if (IS_ERR(dirin))
>                 return PTR_ERR(dirin);
>
> --
> 1.9.1
>

Why not remove bgpio_map() entirely then?

Bart
diff mbox series

Patch

diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
index f729e3e..5cfef3c 100644
--- a/drivers/gpio/gpio-mmio.c
+++ b/drivers/gpio/gpio-mmio.c
@@ -655,21 +655,9 @@  int bgpio_init(struct gpio_chip *gc, struct device *dev,
 #if IS_ENABLED(CONFIG_GPIO_GENERIC_PLATFORM)
 
 static void __iomem *bgpio_map(struct platform_device *pdev,
-			       const char *name,
-			       resource_size_t sane_sz)
+			       const char *name)
 {
-	struct resource *r;
-	resource_size_t sz;
-
-	r = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
-	if (!r)
-		return NULL;
-
-	sz = resource_size(r);
-	if (sz != sane_sz)
-		return IOMEM_ERR_PTR(-EINVAL);
-
-	return devm_ioremap_resource(&pdev->dev, r);
+	return devm_platform_ioremap_resource_byname(pdev, name);
 }
 
 #ifdef CONFIG_OF
@@ -742,23 +730,23 @@  static int bgpio_pdev_probe(struct platform_device *pdev)
 
 	sz = resource_size(r);
 
-	dat = bgpio_map(pdev, "dat", sz);
+	dat = bgpio_map(pdev, "dat");
 	if (IS_ERR(dat))
 		return PTR_ERR(dat);
 
-	set = bgpio_map(pdev, "set", sz);
+	set = bgpio_map(pdev, "set");
 	if (IS_ERR(set))
 		return PTR_ERR(set);
 
-	clr = bgpio_map(pdev, "clr", sz);
+	clr = bgpio_map(pdev, "clr");
 	if (IS_ERR(clr))
 		return PTR_ERR(clr);
 
-	dirout = bgpio_map(pdev, "dirout", sz);
+	dirout = bgpio_map(pdev, "dirout");
 	if (IS_ERR(dirout))
 		return PTR_ERR(dirout);
 
-	dirin = bgpio_map(pdev, "dirin", sz);
+	dirin = bgpio_map(pdev, "dirin");
 	if (IS_ERR(dirin))
 		return PTR_ERR(dirin);