Skip to content

Commit 2c6ef04

Browse files
grygoriySWolfram Sang
authored andcommitted
i2c: davinci: switch to use platform_get_irq
Switch Davinci I2C driver to use platform_get_irq(), because it is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ, ..) for requesting IRQ resources any more, as they can be not ready yet in case of DT-boot. Acked-by: Uwe Kleine-König <[email protected]> Signed-off-by: Grygorii Strashko <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
1 parent 5f835ce commit 2c6ef04

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

drivers/i2c/busses/i2c-davinci.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -634,13 +634,17 @@ static int davinci_i2c_probe(struct platform_device *pdev)
634634
{
635635
struct davinci_i2c_dev *dev;
636636
struct i2c_adapter *adap;
637-
struct resource *mem, *irq;
638-
int r;
639-
640-
irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
641-
if (!irq) {
642-
dev_err(&pdev->dev, "no irq resource?\n");
643-
return -ENODEV;
637+
struct resource *mem;
638+
int r, irq;
639+
640+
irq = platform_get_irq(pdev, 0);
641+
if (irq <= 0) {
642+
if (!irq)
643+
irq = -ENXIO;
644+
if (irq != -EPROBE_DEFER)
645+
dev_err(&pdev->dev,
646+
"can't get irq resource ret=%d\n", irq);
647+
return irq;
644648
}
645649

646650
dev = devm_kzalloc(&pdev->dev, sizeof(struct davinci_i2c_dev),
@@ -655,7 +659,7 @@ static int davinci_i2c_probe(struct platform_device *pdev)
655659
init_completion(&dev->xfr_complete);
656660
#endif
657661
dev->dev = &pdev->dev;
658-
dev->irq = irq->start;
662+
dev->irq = irq;
659663
dev->pdata = dev_get_platdata(&pdev->dev);
660664
platform_set_drvdata(pdev, dev);
661665

0 commit comments

Comments
 (0)