All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@cam.ac.uk>
To: Alexander Stein <alexander.stein@systec-electronic.com>
Cc: "linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>
Subject: Re: [PATCH] ads7846: Add possibility to use external vref on ads7846
Date: Thu, 05 May 2011 10:08:18 +0100	[thread overview]
Message-ID: <4DC26902.3050201@cam.ac.uk> (raw)
In-Reply-To: <1304584346-10407-1-git-send-email-alexander.stein@systec-electronic.com>

On 05/05/11 09:32, Alexander Stein wrote:
> Just set vref_mv in your platform config to use external vref. Otherwise
> the internal one is used.
Would be nicer to see this done with the regulator framework. But then if you
have a use case on a board where that isn't available, then fair enough.
> 
> Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
> ---
> This slight semantic change of vref_mv should not introduce a regression.
> All boards using the 7846 model didn't set vref_mv which results in the
> expected behavior.
> 
> Alexander
>  drivers/input/touchscreen/ads7846.c |    8 +++-----
>  include/linux/spi/ads7846.h         |    3 ++-
>  2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> index 1de1c19..a19e340 100644
> --- a/drivers/input/touchscreen/ads7846.c
> +++ b/drivers/input/touchscreen/ads7846.c
> @@ -109,6 +109,7 @@ struct ads7846 {
>  	u16			pressure_max;
>  
>  	bool			swap_xy;
> +	bool			use_internal;
>  
>  	struct ads7846_packet	*packet;
>  
> @@ -307,7 +308,6 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
>  	struct ads7846 *ts = dev_get_drvdata(dev);
>  	struct ser_req *req;
>  	int status;
> -	int use_internal;
>  
>  	req = kzalloc(sizeof *req, GFP_KERNEL);
>  	if (!req)
> @@ -315,11 +315,8 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
>  
>  	spi_message_init(&req->msg);
>  
> -	/* FIXME boards with ads7846 might use external vref instead ... */
> -	use_internal = (ts->model == 7846);
> -
>  	/* maybe turn on internal vREF, and let it settle */
> -	if (use_internal) {
> +	if (ts->use_internal) {
>  		req->ref_on = REF_ON;
>  		req->xfer[0].tx_buf = &req->ref_on;
>  		req->xfer[0].len = 1;
> @@ -509,6 +506,7 @@ static int ads784x_hwmon_register(struct spi_device *spi, struct ads7846 *ts)
>  		if (!ts->vref_mv) {
>  			dev_dbg(&spi->dev, "assuming 2.5V internal vREF\n");
>  			ts->vref_mv = 2500;
> +			ts->use_internal = true;
>  		}
>  		break;
>  	case 7845:
> diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h
> index 92bd083..c64de9d 100644
> --- a/include/linux/spi/ads7846.h
> +++ b/include/linux/spi/ads7846.h
> @@ -14,7 +14,8 @@ enum ads7846_filter {
>  struct ads7846_platform_data {
>  	u16	model;			/* 7843, 7845, 7846, 7873. */
>  	u16	vref_delay_usecs;	/* 0 for external vref; etc */
> -	u16	vref_mv;		/* external vref value, milliVolts */
> +	u16	vref_mv;		/* external vref value, milliVolts
> +					 * ads7846: if 0, use internal vref */
>  	bool	keep_vref_on;		/* set to keep vref on for differential
>  					 * measurements as well */
>  	bool	swap_xy;		/* swap x and y axes */


  reply	other threads:[~2011-05-05  9:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-05  8:32 [PATCH] ads7846: Add possibility to use external vref on ads7846 Alexander Stein
2011-05-05  9:08 ` Jonathan Cameron [this message]
2011-05-05  9:44   ` Alexander Stein
2011-05-05 10:01     ` Jonathan Cameron
2011-05-05 10:16       ` Alexander Stein
2011-05-05 10:33         ` Jonathan Cameron
2011-05-05 10:42           ` Alexander Stein

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=4DC26902.3050201@cam.ac.uk \
    --to=jic23@cam.ac.uk \
    --cc=alexander.stein@systec-electronic.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.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.