diff mbox series

ARM: s3c64xx: Tidy up handling of regulator GPIO lookups

Message ID 20190412071458.23122-1-linus.walleij@linaro.org (mailing list archive)
State Mainlined
Commit 7676e667c841375b41d9438b559756141aa93d0e
Headers show
Series ARM: s3c64xx: Tidy up handling of regulator GPIO lookups | expand

Commit Message

Linus Walleij April 12, 2019, 7:14 a.m. UTC
From: Charles Keepax <ckeepax@opensource.cirrus.com>

Rather than unconditionally registering the GPIO lookup table only do so
for devices that require it.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
[Fixed up to also handle wm5102 and wm5102 reva]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
This modified patch from Charles is sitting in one of
my regulator branches.
Krzsystof are you collecting S3C patches?
The MAINATINERS file seems to be lacking an S3C maintainer
currently...
---
 arch/arm/mach-s3c64xx/mach-crag6410-module.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

Comments

Krzysztof Kozlowski April 12, 2019, 10:28 a.m. UTC | #1
On Fri, 12 Apr 2019 at 09:17, Linus Walleij <linus.walleij@linaro.org> wrote:
>
> From: Charles Keepax <ckeepax@opensource.cirrus.com>
>
> Rather than unconditionally registering the GPIO lookup table only do so
> for devices that require it.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> [Fixed up to also handle wm5102 and wm5102 reva]
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> This modified patch from Charles is sitting in one of
> my regulator branches.
> Krzsystof are you collecting S3C patches?
> The MAINATINERS file seems to be lacking an S3C maintainer
> currently...

Hi,

This was never sent before to linux-samsung-soc, nor to me. I am
properly listed there:
Krzysztof Kozlowski <krzk@kernel.org> (maintainer:ARM/SAMSUNG EXYNOS
ARM ARCHITECTURES)
linux-samsung-soc@vger.kernel.org (moderated list:ARM/SAMSUNG EXYNOS
ARM ARCHITECTURES)

And yes - I am collecting these (mach-exynos, mach-s3c, mach-s5p and
plat-samsung)

I will pick it up.

Best regards,
Krzysztof
Krzysztof Kozlowski April 14, 2019, 11:19 a.m. UTC | #2
On Fri, Apr 12, 2019 at 09:14:58AM +0200, Linus Walleij wrote:
> From: Charles Keepax <ckeepax@opensource.cirrus.com>
> 
> Rather than unconditionally registering the GPIO lookup table only do so
> for devices that require it.
> 
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> [Fixed up to also handle wm5102 and wm5102 reva]
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> This modified patch from Charles is sitting in one of
> my regulator branches.
> Krzsystof are you collecting S3C patches?
> The MAINATINERS file seems to be lacking an S3C maintainer
> currently...
> ---
>  arch/arm/mach-s3c64xx/mach-crag6410-module.c | 14 +++++++++++---

Thanks, applied.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 76c4855a03bc..937d0a83f8fd 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -328,6 +328,8 @@  static const struct {
 	int num_i2c_devs;
 	const struct spi_board_info *spi_devs;
 	int num_spi_devs;
+
+	struct gpiod_lookup_table *gpiod_table;
 } gf_mods[] = {
 	{ .id = 0x01, .rev = 0xff, .name = "1250-EV1 Springbank" },
 	{ .id = 0x02, .rev = 0xff, .name = "1251-EV1 Jura" },
@@ -362,13 +364,16 @@  static const struct {
 	  .i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) },
 	{ .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" },
 	{ .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill",
-	  .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) },
+	  .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs),
+	  .gpiod_table = &wm8994_gpiod_table },
 	{ .id = 0x3e, .rev = 0, .name = "WM5102-6271-EV1-CS127 Amrut",
 	  .spi_devs = wm5102_reva_spi_devs,
-	  .num_spi_devs = ARRAY_SIZE(wm5102_reva_spi_devs) },
+	  .num_spi_devs = ARRAY_SIZE(wm5102_reva_spi_devs),
+	  .gpiod_table = &wm5102_reva_gpiod_table },
 	{ .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut",
 	  .spi_devs = wm5102_spi_devs,
-	  .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) },
+	  .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs),
+	  .gpiod_table = &wm5102_gpiod_table },
 	{ .id = 0x3f, .rev = -1, .name = "WM2200-6271-CS90-M-REV1",
 	  .i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) },
 };
@@ -408,6 +413,9 @@  static int wlf_gf_module_probe(struct i2c_client *i2c,
 
 		spi_register_board_info(gf_mods[i].spi_devs,
 					gf_mods[i].num_spi_devs);
+
+		if (gf_mods[i].gpiod_table)
+			gpiod_add_lookup_table(gf_mods[i].gpiod_table);
 	} else {
 		dev_warn(&i2c->dev, "Unknown module ID 0x%x revision %d\n",
 			 id, rev + 1);