ARM: shmobile: Fix R-Car Gen2 regulator quirk
authorMarek Vasut <marek.vasut@gmail.com>
Fri, 7 Dec 2018 20:28:58 +0000 (21:28 +0100)
committerSimon Horman <horms+renesas@verge.net.au>
Mon, 7 Jan 2019 12:24:07 +0000 (13:24 +0100)
commit5347a0203709d5039a74d7c94e23519eee478094
tree9684f6904f863ebf80a9873028ecb40af77795ca
parent8d22020a7e1e540592e801a0aa0aebe938599f47
ARM: shmobile: Fix R-Car Gen2 regulator quirk

The quirk code currently detects all compatible I2C chips with a shared
IRQ line on all I2C busses, adds them into a list, and registers a bus
notifier. For every chip for which the bus notifier triggers, the quirk
code performs I2C transfer on that I2C bus for all addresses in the list.
The problem is that this may generate transfers to non-existing chips on
systems with multiple I2C busses.

This patch adds a check to verify that the I2C bus to which the chip with
shared IRQ is attached to matches the I2C bus of the chip which triggered
the bus notifier and only starts the I2C transfer if they match.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Tested-by: Nguyen Viet Dung <dung.nguyen.aj@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c