All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: shmobile: Factor out complex condition
@ 2018-02-17  2:06 ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2018-02-17  2:06 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: linux-arm-kernel, Marek Vasut, Geert Uytterhoeven,
	Kuninori Morimoto, Simon Horman, Wolfram Sang

Pull the complex condition in regulator_quirk_notify() into
regulator_quirk_check(). Moreover, do not hard-code the I2C
address, but rather use the one in da9xxx_msgs[].

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Simon Horman <horms+renesas@verge.net.au>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c b/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
index 27fb3a5ec73e..862f7757ef5d 100644
--- a/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
+++ b/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
@@ -66,6 +66,13 @@ static struct i2c_msg da9xxx_msgs[3] = {
 	},
 };
 
+static int regulator_quirk_check(struct i2c_client *client, u8 i2c_id,
+				 char *compat_string)
+{
+	return client->addr == da9xxx_msgs[i2c_id].addr &&
+	       !strcmp(client->name, compat_string);
+}
+
 static int regulator_quirk_notify(struct notifier_block *nb,
 				  unsigned long action, void *data)
 {
@@ -88,9 +95,9 @@ static int regulator_quirk_notify(struct notifier_block *nb,
 	client = to_i2c_client(dev);
 	dev_dbg(dev, "Detected %s\n", client->name);
 
-	if ((client->addr == 0x58 && !strcmp(client->name, "da9063")) ||
-	    (client->addr == 0x68 && !strcmp(client->name, "da9210")) ||
-	    (client->addr == 0x70 && !strcmp(client->name, "da9210"))) {
+	if (regulator_quirk_check(client, 0, "da9063") ||
+	    regulator_quirk_check(client, 1, "da9210") ||
+	    regulator_quirk_check(client, 2, "da9210")) {
 		int ret, len;
 
 		/* There are two DA9210 on Stout, one on the other boards. */
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2018-02-21 20:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-17  2:06 [PATCH 1/2] ARM: shmobile: Factor out complex condition Marek Vasut
2018-02-17  2:06 ` Marek Vasut
2018-02-17  2:06 ` [PATCH 2/2] ARM: shmobile: porter: enable R-Car Gen2 regulator quirk Marek Vasut
2018-02-17  2:06   ` Marek Vasut
2018-02-19  8:42   ` Geert Uytterhoeven
2018-02-19  8:42     ` Geert Uytterhoeven
2018-02-19  8:51     ` Marek Vasut
2018-02-19  8:51       ` Marek Vasut
2018-02-17  8:18 ` [PATCH 1/2] ARM: shmobile: Factor out complex condition Wolfram Sang
2018-02-17  8:18   ` Wolfram Sang
2018-02-17 11:46   ` Marek Vasut
2018-02-17 11:46     ` Marek Vasut
2018-02-19  8:53     ` Geert Uytterhoeven
2018-02-19  8:53       ` Geert Uytterhoeven
2018-02-19  8:58 ` Simon Horman
2018-02-19  8:58   ` Simon Horman
2018-02-21 19:59   ` Marek Vasut
2018-02-21 19:59     ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.