i2c: imx: use IRQF_SHARED mode to request IRQ
authorWei Jinhua <wei.jinhua1@zte.com.cn>
Wed, 11 Oct 2017 07:57:20 +0000 (15:57 +0800)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 13 Oct 2017 19:05:51 +0000 (21:05 +0200)
Some SoC share one irq number between I2C controllers.
For example, on the LS2088 board, I2C 1 and I2C 2 share
one irq number. In this case, only one I2C controller
can register successfully, and others will fail.

Signed-off-by: Wei Jinhua <wei.jinhua1@zte.com.cn>
Reviewed-by: Jiang Biao <jiang.biao2@zte.com.cn>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-imx.c

index 54a47b40546f69c7ea0d3dbf033c22c95f106516..e5c8b3d5df778db2a1937f933f910469b9d90a4c 100644 (file)
@@ -1100,7 +1100,7 @@ static int i2c_imx_probe(struct platform_device *pdev)
        }
 
        /* Request IRQ */
-       ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr, 0,
+       ret = devm_request_irq(&pdev->dev, irq, i2c_imx_isr, IRQF_SHARED,
                                pdev->name, i2c_imx);
        if (ret) {
                dev_err(&pdev->dev, "can't claim irq %d\n", irq);