On Tue, 28 Jun 2016, Keerthy wrote:
mfd_add_devices enables parsing device tree nodes without compatibles
for regulators and gpio modules. Replace of_platform_populate with
mfd_add_devices. mfd_cell currently is populated with regulators,
gpio and powerbutton.
Signed-off-by: Keerthy <j-keerthy@ti.com>
---
Changes in v4:
* Regrouped the mfd cells better.
drivers/mfd/tps65218.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
For my own reference:
Acked-by: Lee Jones [off-list ref]
quoted hunk ↗ jump to hunk
diff --git a/drivers/mfd/tps65218.c b/drivers/mfd/tps65218.c
index f20a531..f13c8d9 100644
--- a/drivers/mfd/tps65218.c
+++ b/drivers/mfd/tps65218.c
@@ -33,6 +33,18 @@
#define TPS65218_PASSWORD_REGS_UNLOCK 0x7D
+static const struct mfd_cell tps65218_cells[] = {
+ {
+ .name = "tps65218-pwrbutton",
+ .of_compatible = "ti,tps65218-pwrbutton",
+ },
+ {
+ .name = "tps65218-gpio",
+ .of_compatible = "ti,tps65218-gpio",
+ },
+ { .name = "tps65218-regulator", },
+};
+
/**
* tps65218_reg_write: Write a single tps65218 register.
*@@ -236,8 +248,10 @@ static int tps65218_probe(struct i2c_client *client,
if (ret < 0)
return ret;
- ret = of_platform_populate(client->dev.of_node, NULL, NULL,
- &client->dev);
+ ret = mfd_add_devices(tps->dev, PLATFORM_DEVID_AUTO, tps65218_cells,
+ ARRAY_SIZE(tps65218_cells), NULL, 0,
+ regmap_irq_get_domain(tps->irq_data));
+
if (ret < 0)
goto err_irq;
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog