Message ID | 1467105729-28249-6-git-send-email-j-keerthy@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 <lee.jones@linaro.org> > 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; >
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;
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(-)