i2c: ocores: Add irq support for sparc
authorAndreas Larsson <andreas@gaisler.com>
Thu, 15 Nov 2012 15:50:58 +0000 (16:50 +0100)
committerWolfram Sang <w.sang@pengutronix.de>
Fri, 16 Nov 2012 17:22:29 +0000 (18:22 +0100)
Add sparc support by using platform_get_irq instead of platform_get_resource.
There are no platform resources of type IORESOURCE_IRQ for sparc, but
platform_get_irq works for sparc. In the non-sparc case platform_get_irq
internally uses platform_get_resource.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
drivers/i2c/busses/i2c-ocores.c

index 1fad4ae..dafd26b 100644 (file)
@@ -267,7 +267,8 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
 {
        struct ocores_i2c *i2c;
        struct ocores_i2c_platform_data *pdata;
-       struct resource *res, *res2;
+       struct resource *res;
+       int irq;
        int ret;
        int i;
 
@@ -275,9 +276,9 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
        if (!res)
                return -ENODEV;
 
-       res2 = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-       if (!res2)
-               return -ENODEV;
+       irq = platform_get_irq(pdev, 0);
+       if (irq < 0)
+               return irq;
 
        i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
        if (!i2c)
@@ -304,7 +305,7 @@ static int __devinit ocores_i2c_probe(struct platform_device *pdev)
        ocores_init(i2c);
 
        init_waitqueue_head(&i2c->wait);
-       ret = devm_request_irq(&pdev->dev, res2->start, ocores_isr, 0,
+       ret = devm_request_irq(&pdev->dev, irq, ocores_isr, 0,
                               pdev->name, i2c);
        if (ret) {
                dev_err(&pdev->dev, "Cannot claim IRQ\n");