diff options
Diffstat (limited to 'drivers/gpio/gpio-rcar.c')
| -rw-r--r-- | drivers/gpio/gpio-rcar.c | 16 | 
1 files changed, 6 insertions, 10 deletions
| diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c index f7b653314e7e..bd2e16d6e21c 100644 --- a/drivers/gpio/gpio-rcar.c +++ b/drivers/gpio/gpio-rcar.c @@ -477,7 +477,6 @@ static void gpio_rcar_enable_inputs(struct gpio_rcar_priv *p)  static int gpio_rcar_probe(struct platform_device *pdev)  {  	struct gpio_rcar_priv *p; -	struct resource *irq;  	struct gpio_chip *gpio_chip;  	struct irq_chip *irq_chip;  	struct gpio_irq_chip *girq; @@ -502,12 +501,10 @@ static int gpio_rcar_probe(struct platform_device *pdev)  	pm_runtime_enable(dev); -	irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); -	if (!irq) { -		dev_err(dev, "missing IRQ\n"); -		ret = -EINVAL; +	ret = platform_get_irq(pdev, 0); +	if (ret < 0)  		goto err0; -	} +	p->irq_parent = ret;  	p->base = devm_platform_ioremap_resource(pdev, 0);  	if (IS_ERR(p->base)) { @@ -555,11 +552,10 @@ static int gpio_rcar_probe(struct platform_device *pdev)  		goto err0;  	} -	p->irq_parent = irq->start; -	if (devm_request_irq(dev, irq->start, gpio_rcar_irq_handler, -			     IRQF_SHARED, name, p)) { +	ret = devm_request_irq(dev, p->irq_parent, gpio_rcar_irq_handler, +			       IRQF_SHARED, name, p); +	if (ret) {  		dev_err(dev, "failed to request IRQ\n"); -		ret = -ENOENT;  		goto err1;  	} |