Commit 7676e667 authored by Charles Keepax's avatar Charles Keepax Committed by Krzysztof Kozlowski

ARM: s3c64xx: Tidy up handling of regulator GPIO lookups

Rather than unconditionally registering the GPIO lookup table only do so
for devices that require it.
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
[Fixed up to also handle wm5102 and wm5102 reva]
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 2997520c
...@@ -328,6 +328,8 @@ static const struct { ...@@ -328,6 +328,8 @@ static const struct {
int num_i2c_devs; int num_i2c_devs;
const struct spi_board_info *spi_devs; const struct spi_board_info *spi_devs;
int num_spi_devs; int num_spi_devs;
struct gpiod_lookup_table *gpiod_table;
} gf_mods[] = { } gf_mods[] = {
{ .id = 0x01, .rev = 0xff, .name = "1250-EV1 Springbank" }, { .id = 0x01, .rev = 0xff, .name = "1250-EV1 Springbank" },
{ .id = 0x02, .rev = 0xff, .name = "1251-EV1 Jura" }, { .id = 0x02, .rev = 0xff, .name = "1251-EV1 Jura" },
...@@ -362,13 +364,16 @@ static const struct { ...@@ -362,13 +364,16 @@ static const struct {
.i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) }, .i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) },
{ .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" }, { .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" },
{ .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill", { .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", { .id = 0x3e, .rev = 0, .name = "WM5102-6271-EV1-CS127 Amrut",
.spi_devs = wm5102_reva_spi_devs, .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", { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut",
.spi_devs = wm5102_spi_devs, .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", { .id = 0x3f, .rev = -1, .name = "WM2200-6271-CS90-M-REV1",
.i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) }, .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, ...@@ -408,6 +413,9 @@ static int wlf_gf_module_probe(struct i2c_client *i2c,
spi_register_board_info(gf_mods[i].spi_devs, spi_register_board_info(gf_mods[i].spi_devs,
gf_mods[i].num_spi_devs); gf_mods[i].num_spi_devs);
if (gf_mods[i].gpiod_table)
gpiod_add_lookup_table(gf_mods[i].gpiod_table);
} else { } else {
dev_warn(&i2c->dev, "Unknown module ID 0x%x revision %d\n", dev_warn(&i2c->dev, "Unknown module ID 0x%x revision %d\n",
id, rev + 1); id, rev + 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment