i2c: ocores: Add irq support for sparc
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>
This commit is contained in:
parent
1ab3604595
commit
f5f35a92e4
1 changed files with 6 additions and 5 deletions
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue