From: Jonathan Cameron <jic23@kernel.org>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-input@vger.kernel.org, linux-iio@vger.kernel.org,
Samuel Ortiz <sameo@linux.intel.com>,
Jonathan Cameron <jic23@cam.ac.uk>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Felipe Balbi <balbi@ti.com>,
Pantelis Antoniou <panto@antoniou-consulting.com>
Subject: Re: [PATCH 12/19] iio & mfd & input: ti_tscadc: Match mfd sub devices to regmap interface
Date: Sun, 02 Jun 2013 18:46:29 +0100 [thread overview]
Message-ID: <51AB84F5.2030405@kernel.org> (raw)
In-Reply-To: <1369681926-22185-13-git-send-email-bigeasy@linutronix.de>
On 05/27/2013 08:11 PM, Sebastian Andrzej Siewior wrote:
> From: Pantelis Antoniou <panto@antoniou-consulting.com>
>
Some confusing splitting between this and the previous patch that definitely wants
to be cleaned up.
> Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
> drivers/iio/adc/ti_am335x_adc.c | 26 +++++++++++++++++---------
> drivers/input/touchscreen/ti_am335x_tsc.c | 13 ++++++++++---
> drivers/mfd/ti_am335x_tscadc.c | 1 +
> 3 files changed, 28 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
> index cceff09..72ffe89 100644
> --- a/drivers/iio/adc/ti_am335x_adc.c
> +++ b/drivers/iio/adc/ti_am335x_adc.c
> @@ -25,7 +25,9 @@
> #include <linux/of_device.h>
> #include <linux/iio/machine.h>
> #include <linux/iio/driver.h>
> +#include <linux/regmap.h>
>
> +#include <linux/io.h>
That only went away in the previous patch...
> #include <linux/mfd/ti_am335x_tscadc.h>
>
> struct tiadc_device {
> @@ -37,13 +39,17 @@ struct tiadc_device {
>
> static unsigned int tiadc_readl(struct tiadc_device *adc, unsigned int reg)
> {
> - return readl(adc->mfd_tscadc->tscadc_base + reg);
> + unsigned int val;
> +
> + val = (unsigned int)-1;
> + regmap_read(adc->mfd_tscadc->regmap_tscadc, reg, &val);
> + return val;
> }
>
> static void tiadc_writel(struct tiadc_device *adc, unsigned int reg,
> unsigned int val)
> {
> - writel(val, adc->mfd_tscadc->tscadc_base + reg);
> + regmap_write(adc->mfd_tscadc->regmap_tscadc, reg, val);
> }
>
> static void tiadc_step_config(struct tiadc_device *adc_dev)
> @@ -76,22 +82,24 @@ static void tiadc_step_config(struct tiadc_device *adc_dev)
> tiadc_writel(adc_dev, REG_SE, STPENB_STEPENB);
> }
>
> -static int tiadc_channel_init(struct iio_dev *indio_dev, int channels)
> +static int tiadc_channel_init(struct iio_dev *indio_dev,
> + struct tiadc_device *adc_dev)
> {
> struct iio_chan_spec *chan_array;
> struct iio_chan_spec *chan;
> char *s;
> int i, len, size, ret;
> + int channels = adc_dev->channels;
This is an unconnected bit of cleanup. If you want it put it in the previous patch
which only just introduced what you are changing.
>
> - size = indio_dev->num_channels * (sizeof(struct iio_chan_spec) + 6);
> + size = channels * (sizeof(struct iio_chan_spec) + 6);
> chan_array = kzalloc(size, GFP_KERNEL);
> if (chan_array == NULL)
> return -ENOMEM;
>
> /* buffer space is after the array */
> - s = (char *)(chan_array + indio_dev->num_channels);
> + s = (char *)(chan_array + channels);
> chan = chan_array;
> - for (i = 0; i < indio_dev->num_channels; i++, chan++, s += len + 1) {
> + for (i = 0; i < channels; i++, chan++, s += len + 1) {
>
> len = sprintf(s, "AIN%d", i);
>
> @@ -107,8 +115,9 @@ static int tiadc_channel_init(struct iio_dev *indio_dev, int channels)
> }
>
> indio_dev->channels = chan_array;
> + indio_dev->num_channels = channels;
>
> - size = (indio_dev->num_channels + 1) * sizeof(struct iio_map);
> + size = (channels + 1) * sizeof(struct iio_map);
> adc_dev->map = kzalloc(size, GFP_KERNEL);
> if (adc_dev->map == NULL) {
> kfree(chan_array);
> @@ -214,7 +223,7 @@ static int tiadc_probe(struct platform_device *pdev)
>
> tiadc_step_config(adc_dev);
>
> - err = tiadc_channel_init(indio_dev, adc_dev->channels);
> + err = tiadc_channel_init(indio_dev, adc_dev);
> if (err < 0)
> goto err_free_device;
>
> @@ -223,7 +232,6 @@ static int tiadc_probe(struct platform_device *pdev)
> goto err_free_channels;
>
> platform_set_drvdata(pdev, indio_dev);
> -
> return 0;
>
> err_free_channels:
> diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
> index b467196..0dbf3df 100644
> --- a/drivers/input/touchscreen/ti_am335x_tsc.c
> +++ b/drivers/input/touchscreen/ti_am335x_tsc.c
> @@ -27,6 +27,7 @@
> #include <linux/delay.h>
> #include <linux/of.h>
> #include <linux/of_device.h>
> +#include <linux/regmap.h>
>
> #include <linux/mfd/ti_am335x_tscadc.h>
>
> @@ -65,13 +66,17 @@ struct titsc {
>
> static unsigned int titsc_readl(struct titsc *ts, unsigned int reg)
> {
> - return readl(ts->mfd_tscadc->tscadc_base + reg);
> + unsigned int val;
> +
> + val = (unsigned int)-1;
> + regmap_read(ts->mfd_tscadc->regmap_tscadc, reg, &val);
> + return val;
> }
>
> static void titsc_writel(struct titsc *tsc, unsigned int reg,
> unsigned int val)
> {
> - writel(val, tsc->mfd_tscadc->tscadc_base + reg);
> + regmap_write(tsc->mfd_tscadc->regmap_tscadc, reg, val);
> }
>
> /*
> @@ -484,8 +489,10 @@ static int titsc_probe(struct platform_device *pdev)
>
> /* register to the input system */
> err = input_register_device(input_dev);
> - if (err)
> + if (err) {
> + dev_err(&pdev->dev, "Failed to register input device\n");
> goto err_free_irq;
> + }
>
> platform_set_drvdata(pdev, ts_dev);
> return 0;
> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c
> index bd127bd..a27401a 100644
> --- a/drivers/mfd/ti_am335x_tscadc.c
> +++ b/drivers/mfd/ti_am335x_tscadc.c
> @@ -31,6 +31,7 @@ static unsigned int tscadc_readl(struct ti_tscadc_dev *tsadc, unsigned int reg)
> {
> unsigned int val;
>
???? What is this doing here? It's not doing the move to regmap but rather setting a default value.
> + val = (unsigned int)-1;
> regmap_read(tsadc->regmap_tscadc, reg, &val);
> return val;
> }
>
next prev parent reply other threads:[~2013-06-02 17:46 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-27 19:11 am335x: touch & adc patches Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 02/19] input: touchscreen: am335x: Order of TSC wires, made configurable Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-05-27 19:11 ` [PATCH 01/19] input: touchscreen: am335x: Step enable bits " Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 03/19] input: touchscreen: am335x: remove unwanted fifo flush Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 04/19] input: touchscreen: am335x: Add DT support Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 05/19] input: ti_am335x_tsc: Add variance filters Sebastian Andrzej Siewior
2013-06-04 16:43 ` Dmitry Torokhov
2013-06-04 16:54 ` Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 08/19] iio/ti_am335x_adc: remove platform_data support Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-9-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-02 17:22 ` Jonathan Cameron
2013-05-27 19:11 ` [PATCH 09/19] mfd: ti_am335x_tscadc: Add DT support Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 10/19] mfd/ti_am335x_tscadc: remove platform_data support Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 11/19] iio & mfd: ti_tscadc: Update with IIO map interface & deal with partial activation Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-12-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-02 17:40 ` Jonathan Cameron
[not found] ` <51AB838B.5060602-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 10:19 ` Sebastian Andrzej Siewior
2013-05-27 19:12 ` [PATCH 14/19] Documentation/DT bindings: add info for TI TSC ADC Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-15-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-02 17:48 ` Jonathan Cameron
[not found] ` <51AB8568.9050104-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 10:24 ` Sebastian Andrzej Siewior
2013-05-27 19:12 ` [PATCH 15/19] input/ti_am335x_tsc: tiny cleanup Sebastian Andrzej Siewior
2013-06-02 17:49 ` Jonathan Cameron
2013-06-04 10:27 ` Sebastian Andrzej Siewior
2013-06-04 16:49 ` Dmitry Torokhov
2013-05-27 19:12 ` [PATCH 18/19] mfd/ti_am335x_tscadc: add a module alias for modprobe Sebastian Andrzej Siewior
2013-05-27 19:11 ` [PATCH 06/19] input/ti_am33x_tsc: remove platform_data support Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-7-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-04 16:44 ` Dmitry Torokhov
2013-05-27 19:11 ` [PATCH 07/19] iio: adc: am335x: Add DT support Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-8-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-02 16:58 ` Jonathan Cameron
[not found] ` <51AB79CE.2000001-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 10:12 ` Sebastian Andrzej Siewior
[not found] ` <20130604101202.GA1151-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-04 16:57 ` Dmitry Torokhov
2013-05-27 19:11 ` [PATCH 12/19] iio & mfd & input: ti_tscadc: Match mfd sub devices to regmap interface Sebastian Andrzej Siewior
2013-06-02 17:46 ` Jonathan Cameron [this message]
[not found] ` <51AB84F5.2030405-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 10:23 ` Sebastian Andrzej Siewior
[not found] ` <20130604102318.GC1151-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-04 10:25 ` Pantelis Antoniou
[not found] ` <F58DCC19-20B7-4385-B323-C1A2E5F22641-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2013-06-04 10:52 ` Sebastian Andrzej Siewior
[not found] ` <20130604105210.GI1151-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-04 10:54 ` Pantelis Antoniou
2013-06-04 11:05 ` Sebastian Andrzej Siewior
[not found] ` <20130604110532.GJ1151-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-04 11:10 ` Pantelis Antoniou
2013-05-27 19:12 ` [PATCH 13/19] arm: dts: am33xx: add TSC/ADC mfd device support Sebastian Andrzej Siewior
2013-05-27 19:12 ` [PATCH 16/19] mfd / input: ti_am335x_tsc: rename device from tsc to TI-tsc Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-17-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-04 16:50 ` Dmitry Torokhov
[not found] ` <20130604165035.GE26400-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2013-06-04 17:29 ` Sebastian Andrzej Siewior
2013-05-27 19:12 ` [PATCH 17/19] mfd / iio: ti_am335x_adc: rename device from tiadc to TI-adc Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-18-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-06-02 17:50 ` Jonathan Cameron
[not found] ` <51AB85DB.2000305-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 10:28 ` Sebastian Andrzej Siewior
2013-05-27 19:12 ` [PATCH 19/19] mfd/ti_am335x_tscadc: add private lock/unlock function for regmap read/write Sebastian Andrzej Siewior
[not found] ` <1369681926-22185-20-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-05-29 8:46 ` [PATCH 19/19 v2] " Sebastian Andrzej Siewior
[not found] ` <20130529084642.GA18273-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2013-05-29 11:12 ` Mark Brown
[not found] ` <20130529111253.GR3660-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-05-29 11:25 ` Lars-Peter Clausen
[not found] ` <51A5E5B3.80201-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2013-05-29 14:31 ` Sebastian Andrzej Siewior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51AB84F5.2030405@kernel.org \
--to=jic23@kernel.org \
--cc=balbi@ti.com \
--cc=bigeasy@linutronix.de \
--cc=dmitry.torokhov@gmail.com \
--cc=jic23@cam.ac.uk \
--cc=linux-iio@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=panto@antoniou-consulting.com \
--cc=sameo@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).