All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: Fabio Estevam <festevam@gmail.com>
Cc: linux-iio@vger.kernel.org,
	Fabio Estevam <fabio.estevam@freescale.com>,
	Shawn Guo <shawn.guo@linaro.org>,
	Jonathan Cameron <jic23@kernel.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/4] iio: mxs: Implement support for touchscreen
Date: Sat, 8 Dec 2012 22:03:57 +0100	[thread overview]
Message-ID: <201212082203.57339.marex@denx.de> (raw)
In-Reply-To: <CAOMZO5B_Dx_+KRn6h+erCj+CY3zk06MXODX-Nm1tcpao9mL2zg@mail.gmail.com>

Dear Fabio Estevam,

> On Fri, Dec 7, 2012 at 1:24 PM, Marek Vasut <marex@denx.de> wrote:
> > This patch implements support for sampling of a touchscreen into
> > the MXS LRADC driver. The LRADC block allows configuring some of
> > it's channels into special mode where they either output the drive
> > voltage or sample it, allowing it to operate a 4-wire or 5-wire
> > resistive touchscreen.
> > 
> > In case the touchscreen mode is enabled, the LRADC slot #7 is
> > reserved for touchscreen only, therefore it is not possible to
> > sample 8 LRADC channels at time, but only 7 channels.
> > 
> > The touchscreen controller is configured such that the PENDOWN event
> > disables touchscreen interrupts and triggers execution of worker
> > thread, which then polls the touchscreen controller for X, Y and
> > Pressure values. This reduces the overhead of interrupt-driven
> > operation. Upon the PENUP event, the worker thread re-enables the
> > PENDOWN detection interrupt and exits.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
> > Cc: Jonathan Cameron <jic23@kernel.org>
> > Cc: Shawn Guo <shawn.guo@linaro.org>
> > ---
> > 
> >  .../bindings/staging/iio/adc/mxs-lradc.txt         |    6 +
> >  drivers/staging/iio/adc/mxs-lradc.c                |  435
> >  +++++++++++++++++++-
> 
> What about adding the touchscreen support into a separate file, so
> that users can select/deselect it via Kconfig option?

The touchscreen is way too intertwined with the LRADC, that's why I kept it in 
single file. Separating it away would only spawn third lradc.h header file with 
all the shared data etc.

I'll elaborate on it more in the other email.

> Not everyone using lradc would be necessarily interested in the
> touchscreen functionality, so better to let it optional.

You can actually disable it via device tree property (and it's disabled by 
default).

> Thanks,
> 
> Fabio Estevam

Best regards,
Marek Vasut

WARNING: multiple messages have this Message-ID (diff)
From: marex@denx.de (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] iio: mxs: Implement support for touchscreen
Date: Sat, 8 Dec 2012 22:03:57 +0100	[thread overview]
Message-ID: <201212082203.57339.marex@denx.de> (raw)
In-Reply-To: <CAOMZO5B_Dx_+KRn6h+erCj+CY3zk06MXODX-Nm1tcpao9mL2zg@mail.gmail.com>

Dear Fabio Estevam,

> On Fri, Dec 7, 2012 at 1:24 PM, Marek Vasut <marex@denx.de> wrote:
> > This patch implements support for sampling of a touchscreen into
> > the MXS LRADC driver. The LRADC block allows configuring some of
> > it's channels into special mode where they either output the drive
> > voltage or sample it, allowing it to operate a 4-wire or 5-wire
> > resistive touchscreen.
> > 
> > In case the touchscreen mode is enabled, the LRADC slot #7 is
> > reserved for touchscreen only, therefore it is not possible to
> > sample 8 LRADC channels at time, but only 7 channels.
> > 
> > The touchscreen controller is configured such that the PENDOWN event
> > disables touchscreen interrupts and triggers execution of worker
> > thread, which then polls the touchscreen controller for X, Y and
> > Pressure values. This reduces the overhead of interrupt-driven
> > operation. Upon the PENUP event, the worker thread re-enables the
> > PENDOWN detection interrupt and exits.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Fabio Estevam <fabio.estevam@freescale.com>
> > Cc: Jonathan Cameron <jic23@kernel.org>
> > Cc: Shawn Guo <shawn.guo@linaro.org>
> > ---
> > 
> >  .../bindings/staging/iio/adc/mxs-lradc.txt         |    6 +
> >  drivers/staging/iio/adc/mxs-lradc.c                |  435
> >  +++++++++++++++++++-
> 
> What about adding the touchscreen support into a separate file, so
> that users can select/deselect it via Kconfig option?

The touchscreen is way too intertwined with the LRADC, that's why I kept it in 
single file. Separating it away would only spawn third lradc.h header file with 
all the shared data etc.

I'll elaborate on it more in the other email.

> Not everyone using lradc would be necessarily interested in the
> touchscreen functionality, so better to let it optional.

You can actually disable it via device tree property (and it's disabled by 
default).

> Thanks,
> 
> Fabio Estevam

Best regards,
Marek Vasut

  reply	other threads:[~2012-12-08 21:03 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-07 15:24 [PATCH 1/4] iio: mxs: Remove unused struct mxs_lradc_chan Marek Vasut
2012-12-07 15:24 ` Marek Vasut
2012-12-07 15:24 ` [PATCH 2/4] iio: mxs: Remove unused fields from mxs_lradc Marek Vasut
2012-12-07 15:24   ` Marek Vasut
2012-12-07 15:24 ` [PATCH 3/4] iio: mxs: Implement support for touchscreen Marek Vasut
2012-12-07 15:24   ` Marek Vasut
     [not found]   ` <1354893893-26338-3-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-12-08 10:13     ` Jonathan Cameron
2012-12-08 10:13       ` Jonathan Cameron
2012-12-08 10:13       ` Jonathan Cameron
     [not found]       ` <50C312D8.4050405-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-12-08 21:18         ` Marek Vasut
2012-12-08 21:18           ` Marek Vasut
2012-12-08 21:18           ` Marek Vasut
     [not found]           ` <201212082218.19338.marex-ynQEQJNshbs@public.gmane.org>
2012-12-10 21:56             ` Jonathan Cameron
2012-12-10 21:56               ` Jonathan Cameron
2012-12-10 21:56               ` Jonathan Cameron
2012-12-13 16:56               ` Marek Vasut
2012-12-13 16:56                 ` Marek Vasut
2012-12-10 22:24         ` Dmitry Torokhov
2012-12-10 22:24           ` Dmitry Torokhov
2012-12-10 22:24           ` Dmitry Torokhov
2012-12-10 23:22           ` Marek Vasut
2012-12-10 23:22             ` Marek Vasut
2012-12-11  8:18           ` Lothar Waßmann
2012-12-11  8:18             ` Lothar Waßmann
2012-12-11  8:18             ` Lothar Waßmann
     [not found]           ` <20121210222437.GA19008-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2012-12-13 16:48             ` Marek Vasut
2012-12-13 16:48               ` Marek Vasut
2012-12-13 16:48               ` Marek Vasut
2012-12-08 19:42   ` Fabio Estevam
2012-12-08 19:42     ` Fabio Estevam
2012-12-08 21:03     ` Marek Vasut [this message]
2012-12-08 21:03       ` Marek Vasut
2012-12-07 15:24 ` [PATCH 4/4] iio: mxs: Enable touchscreen on m28evk Marek Vasut
2012-12-07 15:24   ` Marek Vasut
2012-12-08 19:39 ` [PATCH 1/4] iio: mxs: Remove unused struct mxs_lradc_chan Fabio Estevam
2012-12-08 19:39   ` Fabio Estevam

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=201212082203.57339.marex@denx.de \
    --to=marex@denx.de \
    --cc=fabio.estevam@freescale.com \
    --cc=festevam@gmail.com \
    --cc=jic23@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=shawn.guo@linaro.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.