On Mon, 03 Jul 2017, Sebastian Reichel wrote: > If the touchscreen pins are used as general purpose analogue > input, the touchscreen driver should not be used. The pins > will be handled by the existing hwmon driver instead. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> > --- > drivers/mfd/da9052-core.c | 28 +++++++++++++++++++++++++--- > 1 file changed, 25 insertions(+), 3 deletions(-) > > diff --git a/drivers/mfd/da9052-core.c b/drivers/mfd/da9052-core.c > index 977418ca9117..a671c18381d7 100644 > --- a/drivers/mfd/da9052-core.c > +++ b/drivers/mfd/da9052-core.c > @@ -18,6 +18,7 @@ > #include <linux/mfd/core.h> > #include <linux/slab.h> > #include <linux/module.h> > +#include <linux/property.h> > > #include <linux/mfd/da9052/da9052.h> > #include <linux/mfd/da9052/pdata.h> > @@ -521,9 +522,6 @@ static const struct mfd_cell da9052_subdev_info[] = { > .name = "da9052-wled3", > }, > { > - .name = "da9052-tsi", > - }, > - { > .name = "da9052-bat", > }, > { > @@ -531,6 +529,12 @@ static const struct mfd_cell da9052_subdev_info[] = { > }, > }; > > +static const struct mfd_cell da9052_tsi_subdev_info[] = { > + { > + .name = "da9052-tsi", > + }, > +}; I normally prefer these one a single line. Once fixed: For my own reference: Acked-for-MFD-by: Lee Jones <lee.jones@xxxxxxxxxx> > const struct regmap_config da9052_regmap_config = { > .reg_bits = 8, > .val_bits = 8, > @@ -621,9 +625,27 @@ int da9052_device_init(struct da9052 *da9052, u8 chip_id) > goto err; > } > > + /* > + * Check if touchscreen pins are used are analogue input instead > + * of having a touchscreen connected to them. The analogue input > + * functionality will be provided by hwmon driver (if enabled). > + */ > + if (!device_property_read_bool(da9052->dev, "dlg,tsi-as-adc")) { > + ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, > + da9052_tsi_subdev_info, > + ARRAY_SIZE(da9052_tsi_subdev_info), > + NULL, 0, NULL); > + if (ret) { > + dev_err(da9052->dev, "failed to add TSI subdev: %d\n", > + ret); > + goto err; > + } > + } > + > return 0; > > err: > + mfd_remove_devices(da9052->dev); > da9052_irq_exit(da9052); > > return ret; -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html