[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdXKXicew2iyU-09iVLuN7jAY85=grNbb3f7TSCnK14YwQ@mail.gmail.com>
Date: Thu, 3 Oct 2019 09:00:45 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Bartosz Golaszewski <brgl@...ev.pl>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Alban Bedel <albeu@...e.fr>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>
Subject: Re: [PATCH 3/6] gpio: em: use devm_platform_ioremap_resource()
CC linux-renesas-soc
On Wed, Oct 2, 2019 at 7:03 PM Bartosz Golaszewski <brgl@...ev.pl> wrote:
> From: Bartosz Golaszewski <bgolaszewski@...libre.com>
>
> There's no need to use the nocache variant of ioremap(). Switch to
> using devm_platform_ioremap_resource().
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@...libre.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@...der.be>
> --- a/drivers/gpio/gpio-em.c
> +++ b/drivers/gpio/gpio-em.c
> @@ -269,7 +269,7 @@ static void em_gio_irq_domain_remove(void *data)
> static int em_gio_probe(struct platform_device *pdev)
> {
> struct em_gio_priv *p;
> - struct resource *io[2], *irq[2];
> + struct resource *irq[2];
> struct gpio_chip *gpio_chip;
> struct irq_chip *irq_chip;
> struct device *dev = &pdev->dev;
> @@ -285,25 +285,21 @@ static int em_gio_probe(struct platform_device *pdev)
> platform_set_drvdata(pdev, p);
> spin_lock_init(&p->sense_lock);
>
> - io[0] = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - io[1] = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> irq[0] = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> irq[1] = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
>
> - if (!io[0] || !io[1] || !irq[0] || !irq[1]) {
> + if (!irq[0] || !irq[1]) {
> dev_err(dev, "missing IRQ or IOMEM\n");
> return -EINVAL;
> }
>
> - p->base0 = devm_ioremap_nocache(dev, io[0]->start,
> - resource_size(io[0]));
> - if (!p->base0)
> - return -ENOMEM;
> + p->base0 = devm_platform_ioremap_resource(pdev, 0);
> + if (IS_ERR(p->base0))
> + return PTR_ERR(p->base0);
>
> - p->base1 = devm_ioremap_nocache(dev, io[1]->start,
> - resource_size(io[1]));
> - if (!p->base1)
> - return -ENOMEM;
> + p->base1 = devm_platform_ioremap_resource(pdev, 1);
> + if (IS_ERR(p->base1))
> + return PTR_ERR(p->base1);
>
> if (of_property_read_u32(dev->of_node, "ngpios", &ngpios)) {
> dev_err(dev, "Missing ngpios OF property\n");
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists