|
@@ -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.
|
|
|
*
|
|
@@ -245,8 +257,10 @@ static int tps65218_probe(struct i2c_client *client,
|
|
|
|
|
|
tps->rev = chipid & TPS65218_CHIPID_REV_MASK;
|
|
|
|
|
|
- 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;
|
|
|
|