i2c: core: Map OF IRQ at probe time
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 30 Oct 2014 13:59:38 +0000 (15:59 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 10 Nov 2014 08:34:58 +0000 (09:34 +0100)
commit2fd36c55264926e268deb50f6de5f43fa5e490f7
treec168e12f6e984893a1ed9b9d1ac0e0028a64d309
parent9eb08fb3d15896bfff57fcd4c87e3fd5b19d8581
i2c: core: Map OF IRQ at probe time

I2C clients instantiated from OF get their IRQ mapped at device
registration time. This leads to the IRQ being silently ignored if the
related irqchip hasn't been proved yet.

Fix this by moving IRQ mapping at probe time using of_get_irq(). The
function operates as irq_of_parse_and_map() but additionally returns
-EPROBE_DEFER if the irqchip isn't available, allowing us to defer I2C
client probing.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/i2c-core.c