[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170717143444.i5zlzwrbd76bhq4z@dell>
Date: Mon, 17 Jul 2017 15:34:44 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Sebastian Reichel <sebastian.reichel@...labora.co.uk>
Cc: Sebastian Reichel <sre@...nel.org>,
Support Opensource <support.opensource@...semi.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>, devicetree@...r.kernel.org,
linux-hwmon@...r.kernel.org, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCHv5 4/6] mfd: da9052: make touchscreen registration optional
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@...labora.co.uk>
> ---
> 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@...aro.org>
> 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
Powered by blists - more mailing lists