Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48944738 authored by David Vrabel's avatar David Vrabel Committed by Greg Kroah-Hartman
Browse files

[PATCH] handle errors returned by platform_get_irq*()



platform_get_irq*() now returns on -ENXIO when the resource cannot be
found.  Ensure all users of platform_get_irq*() handle this error
appropriately.

Signed-off-by: default avatarDavid Vrabel <dvrabel@arcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 305b3228
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -788,6 +788,8 @@ static int locomo_probe(struct platform_device *dev)
	if (!mem)
		return -EINVAL;
	irq = platform_get_irq(dev, 0);
	if (irq < 0)
		return -ENXIO;

	return __locomo_probe(&dev->dev, mem, irq);
}
+2 −0
Original line number Diff line number Diff line
@@ -943,6 +943,8 @@ static int sa1111_probe(struct platform_device *pdev)
	if (!mem)
		return -EINVAL;
	irq = platform_get_irq(pdev, 0);
	if (irq < 0)
		return -ENXIO;

	return __sa1111_probe(&pdev->dev, mem, irq);
}
+2 −2
Original line number Diff line number Diff line
@@ -448,13 +448,13 @@ static int s3c2410_rtc_probe(struct platform_device *pdev)
	/* find the IRQs */

	s3c2410_rtc_tickno = platform_get_irq(pdev, 1);
	if (s3c2410_rtc_tickno <= 0) {
	if (s3c2410_rtc_tickno < 0) {
		dev_err(&pdev->dev, "no irq for rtc tick\n");
		return -ENOENT;
	}

	s3c2410_rtc_alarmno = platform_get_irq(pdev, 0);
	if (s3c2410_rtc_alarmno <= 0) {
	if (s3c2410_rtc_alarmno < 0) {
		dev_err(&pdev->dev, "no irq for alarm\n");
		return -ENOENT;
	}
+4 −0
Original line number Diff line number Diff line
@@ -338,6 +338,10 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev)

	wdt->dev = &dev->dev;
	wdt->irq = platform_get_irq(dev, 0);
	if (wdt->irq < 0) {
		ret = -ENXIO;
		goto err_free;
	}
	wdt->base = ioremap(res->start, res->end - res->start + 1);
	if (!wdt->base) {
		ret = -ENOMEM;
+7 −2
Original line number Diff line number Diff line
@@ -434,7 +434,7 @@ static int
iop3xx_i2c_probe(struct platform_device *pdev)
{
	struct resource *res;
	int ret;
	int ret, irq;
	struct i2c_adapter *new_adapter;
	struct i2c_algo_iop3xx_data *adapter_data;

@@ -470,7 +470,12 @@ iop3xx_i2c_probe(struct platform_device *pdev)
		goto release_region;
	}

	ret = request_irq(platform_get_irq(pdev, 0), iop3xx_i2c_irq_handler, 0,
	irq = platform_get_irq(pdev, 0);
	if (irq < 0) {
		ret = -ENXIO;
		goto unmap;
	}
	ret = request_irq(irq, iop3xx_i2c_irq_handler, 0,
				pdev->name, adapter_data);

	if (ret) {
Loading