* [PATCH] gpio: em: Use platform_get_irq() to obtain interrupts
@ 2019-11-13 10:11 Geert Uytterhoeven
2019-11-13 12:48 ` Bartosz Golaszewski
0 siblings, 1 reply; 2+ messages in thread
From: Geert Uytterhoeven @ 2019-11-13 10:11 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski
Cc: Niklas Söderlund, linux-gpio, linux-renesas-soc, Geert Uytterhoeven
Use the platform_get_irq() helper instead of handling resources
directly.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Compile-tested only.
---
drivers/gpio/gpio-em.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
index adc281daacff4896..17a243c528adeaf8 100644
--- a/drivers/gpio/gpio-em.c
+++ b/drivers/gpio/gpio-em.c
@@ -269,13 +269,12 @@ 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 *irq[2];
struct gpio_chip *gpio_chip;
struct irq_chip *irq_chip;
struct device *dev = &pdev->dev;
const char *name = dev_name(dev);
unsigned int ngpios;
- int ret;
+ int irq[2], ret;
p = devm_kzalloc(dev, sizeof(*p), GFP_KERNEL);
if (!p)
@@ -285,13 +284,13 @@ static int em_gio_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, p);
spin_lock_init(&p->sense_lock);
- irq[0] = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
- irq[1] = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
+ irq[0] = platform_get_irq(pdev, 0);
+ if (irq[0] < 0)
+ return irq[0];
- if (!irq[0] || !irq[1]) {
- dev_err(dev, "missing IRQ or IOMEM\n");
- return -EINVAL;
- }
+ irq[1] = platform_get_irq(pdev, 1);
+ if (irq[1] < 0)
+ return irq[1];
p->base0 = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(p->base0))
@@ -342,14 +341,12 @@ static int em_gio_probe(struct platform_device *pdev)
if (ret)
return ret;
- if (devm_request_irq(dev, irq[0]->start,
- em_gio_irq_handler, 0, name, p)) {
+ if (devm_request_irq(dev, irq[0], em_gio_irq_handler, 0, name, p)) {
dev_err(dev, "failed to request low IRQ\n");
return -ENOENT;
}
- if (devm_request_irq(dev, irq[1]->start,
- em_gio_irq_handler, 0, name, p)) {
+ if (devm_request_irq(dev, irq[1], em_gio_irq_handler, 0, name, p)) {
dev_err(dev, "failed to request high IRQ\n");
return -ENOENT;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] gpio: em: Use platform_get_irq() to obtain interrupts
2019-11-13 10:11 [PATCH] gpio: em: Use platform_get_irq() to obtain interrupts Geert Uytterhoeven
@ 2019-11-13 12:48 ` Bartosz Golaszewski
0 siblings, 0 replies; 2+ messages in thread
From: Bartosz Golaszewski @ 2019-11-13 12:48 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Linus Walleij, Niklas Söderlund, linux-gpio, Linux-Renesas
śr., 13 lis 2019 o 11:11 Geert Uytterhoeven <geert+renesas@glider.be>
napisał(a):
>
> Use the platform_get_irq() helper instead of handling resources
> directly.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> Compile-tested only.
> ---
> drivers/gpio/gpio-em.c | 21 +++++++++------------
> 1 file changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
> index adc281daacff4896..17a243c528adeaf8 100644
> --- a/drivers/gpio/gpio-em.c
> +++ b/drivers/gpio/gpio-em.c
> @@ -269,13 +269,12 @@ 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 *irq[2];
> struct gpio_chip *gpio_chip;
> struct irq_chip *irq_chip;
> struct device *dev = &pdev->dev;
> const char *name = dev_name(dev);
> unsigned int ngpios;
> - int ret;
> + int irq[2], ret;
>
> p = devm_kzalloc(dev, sizeof(*p), GFP_KERNEL);
> if (!p)
> @@ -285,13 +284,13 @@ static int em_gio_probe(struct platform_device *pdev)
> platform_set_drvdata(pdev, p);
> spin_lock_init(&p->sense_lock);
>
> - irq[0] = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> - irq[1] = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
> + irq[0] = platform_get_irq(pdev, 0);
> + if (irq[0] < 0)
> + return irq[0];
>
> - if (!irq[0] || !irq[1]) {
> - dev_err(dev, "missing IRQ or IOMEM\n");
> - return -EINVAL;
> - }
> + irq[1] = platform_get_irq(pdev, 1);
> + if (irq[1] < 0)
> + return irq[1];
>
> p->base0 = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(p->base0))
> @@ -342,14 +341,12 @@ static int em_gio_probe(struct platform_device *pdev)
> if (ret)
> return ret;
>
> - if (devm_request_irq(dev, irq[0]->start,
> - em_gio_irq_handler, 0, name, p)) {
> + if (devm_request_irq(dev, irq[0], em_gio_irq_handler, 0, name, p)) {
> dev_err(dev, "failed to request low IRQ\n");
> return -ENOENT;
> }
>
> - if (devm_request_irq(dev, irq[1]->start,
> - em_gio_irq_handler, 0, name, p)) {
> + if (devm_request_irq(dev, irq[1], em_gio_irq_handler, 0, name, p)) {
> dev_err(dev, "failed to request high IRQ\n");
> return -ENOENT;
> }
> --
> 2.17.1
>
Queued for v5.5, thanks!
Bartosz
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-11-13 12:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-13 10:11 [PATCH] gpio: em: Use platform_get_irq() to obtain interrupts Geert Uytterhoeven
2019-11-13 12:48 ` Bartosz Golaszewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).