[09/42] drivers: gpio: sprd: use devm_platform_ioremap_resource()
diff mbox series

Message ID 1552330521-4276-9-git-send-email-info@metux.net
State New
Headers show
Series
  • [01/42] drivers: gpio: 74xx-mmio: use devm_platform_ioremap_resource()
Related show

Commit Message

Enrico Weigelt, metux IT consult March 11, 2019, 6:54 p.m. UTC
Use the new helper that wraps the calls to platform_get_resource()
and devm_ioremap_resource() together.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
---
 drivers/gpio/gpio-eic-sprd.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Baolin Wang March 12, 2019, 2:38 a.m. UTC | #1
On Tue, 12 Mar 2019 at 02:55, Enrico Weigelt, metux IT consult
<info@metux.net> wrote:
>
> Use the new helper that wraps the calls to platform_get_resource()
> and devm_ioremap_resource() together.
>
> Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
> ---
>  drivers/gpio/gpio-eic-sprd.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
> index f0223ce..c12de87 100644
> --- a/drivers/gpio/gpio-eic-sprd.c
> +++ b/drivers/gpio/gpio-eic-sprd.c
> @@ -567,7 +567,6 @@ static int sprd_eic_probe(struct platform_device *pdev)
>         const struct sprd_eic_variant_data *pdata;
>         struct gpio_irq_chip *irq;
>         struct sprd_eic *sprd_eic;
> -       struct resource *res;
>         int ret, i;
>
>         pdata = of_device_get_match_data(&pdev->dev);
> @@ -596,13 +595,9 @@ static int sprd_eic_probe(struct platform_device *pdev)
>                  * have one bank EIC, thus base[1] and base[2] can be
>                  * optional.
>                  */
> -               res = platform_get_resource(pdev, IORESOURCE_MEM, i);
> -               if (!res)
> -                       continue;
> -
> -               sprd_eic->base[i] = devm_ioremap_resource(&pdev->dev, res);
> +               sprd_eic->base[i] = devm_platform_ioremap_resource(pdev, 0);

This is incorrect, since we can have multiple IO resources, but you
only get index 0.

>                 if (IS_ERR(sprd_eic->base[i]))
> -                       return PTR_ERR(sprd_eic->base[i]);
> +                       continue;
>         }
>
>         sprd_eic->chip.label = sprd_eic_label_name[sprd_eic->type];
> --
> 1.9.1
>
Enrico Weigelt, metux IT consult March 12, 2019, 8:08 a.m. UTC | #2
On 12.03.19 03:38, Baolin Wang wrote:
> On Tue, 12 Mar 2019 at 02:55, Enrico Weigelt, metux IT consult
> <info@metux.net> wrote:
>>
>> Use the new helper that wraps the calls to platform_get_resource()
>> and devm_ioremap_resource() together.
>>
>> Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
>> ---
>>  drivers/gpio/gpio-eic-sprd.c | 9 ++-------
>>  1 file changed, 2 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
>> index f0223ce..c12de87 100644
>> --- a/drivers/gpio/gpio-eic-sprd.c
>> +++ b/drivers/gpio/gpio-eic-sprd.c
>> @@ -567,7 +567,6 @@ static int sprd_eic_probe(struct platform_device *pdev)
>>         const struct sprd_eic_variant_data *pdata;
>>         struct gpio_irq_chip *irq;
>>         struct sprd_eic *sprd_eic;
>> -       struct resource *res;
>>         int ret, i;
>>
>>         pdata = of_device_get_match_data(&pdev->dev);
>> @@ -596,13 +595,9 @@ static int sprd_eic_probe(struct platform_device *pdev)
>>                  * have one bank EIC, thus base[1] and base[2] can be
>>                  * optional.
>>                  */
>> -               res = platform_get_resource(pdev, IORESOURCE_MEM, i);
>> -               if (!res)
>> -                       continue;
>> -
>> -               sprd_eic->base[i] = devm_ioremap_resource(&pdev->dev, res);
>> +               sprd_eic->base[i] = devm_platform_ioremap_resource(pdev, 0);
> 
> This is incorrect, since we can have multiple IO resources, but you
> only get index 0.

ah, right, it has to be i instead of 0. thanks for pointing that out.


--mtx
Linus Walleij April 2, 2019, 9:20 a.m. UTC | #3
On Tue, Mar 12, 2019 at 1:55 AM Enrico Weigelt, metux IT consult
<info@metux.net> wrote:

> Use the new helper that wraps the calls to platform_get_resource()
> and devm_ioremap_resource() together.
>
> Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
> ---
>  drivers/gpio/gpio-eic-sprd.c | 9 ++-------

Please fix the subject of this patch to gpio: eic-sprd: because
gmail goes bananas with things that have the same subject line.

Yours,
Linus Walleij

Patch
diff mbox series

diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
index f0223ce..c12de87 100644
--- a/drivers/gpio/gpio-eic-sprd.c
+++ b/drivers/gpio/gpio-eic-sprd.c
@@ -567,7 +567,6 @@  static int sprd_eic_probe(struct platform_device *pdev)
 	const struct sprd_eic_variant_data *pdata;
 	struct gpio_irq_chip *irq;
 	struct sprd_eic *sprd_eic;
-	struct resource *res;
 	int ret, i;
 
 	pdata = of_device_get_match_data(&pdev->dev);
@@ -596,13 +595,9 @@  static int sprd_eic_probe(struct platform_device *pdev)
 		 * have one bank EIC, thus base[1] and base[2] can be
 		 * optional.
 		 */
-		res = platform_get_resource(pdev, IORESOURCE_MEM, i);
-		if (!res)
-			continue;
-
-		sprd_eic->base[i] = devm_ioremap_resource(&pdev->dev, res);
+		sprd_eic->base[i] = devm_platform_ioremap_resource(pdev, 0);
 		if (IS_ERR(sprd_eic->base[i]))
-			return PTR_ERR(sprd_eic->base[i]);
+			continue;
 	}
 
 	sprd_eic->chip.label = sprd_eic_label_name[sprd_eic->type];