LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Nicolas Ferre <nicolas.ferre@rfo.atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@rfo.atmel.com>,
	linux-kernel@vger.kernel.org,
	Andrew Victor <andrew@sanpeople.com>
Subject: Re: [PATCH] input/spi: add ads7843 support to ads7846 touchscreen driver
Date: Fri, 16 Feb 2007 11:08:50 -0800	[thread overview]
Message-ID: <200702161108.51014.david-b@pacbell.net> (raw)
In-Reply-To: <45D5EBC3.8090208@rfo.atmel.com>

On Friday 16 February 2007 9:37 am, Nicolas Ferre wrote:
> David Brownell :
> [..]
> > Thanks!  I'll be glad to see fewer versions of this driver floating around.
> > And to see the next version of the ads7843 patches ... :) 
> 
> Hi,
> 
> Here is the ads7843 support for the ads7846 touchscreen driver. It is 
> very little and takes great advantage of the previous rework.

Good!  But see below for one fix ... after that, please split out the
ads7846 update by itself, and submit that patch to the input subsystem
maintainer with your signed-off-by.

Did you find out what was causing the jerky behavior (draw a circle,
it looks like a square) before?


> Tested on Atmel at91sam926[13]ek board with atmel_spi underlying driver.

Which has now been merged; minor fixes needed, including a build
fix for AT91.  I expect those will merge by the time 2.6.21 is done.
Looks like that driver is going to get a fair amount of use.  :)

 
> I also put a use case based on the at91sam9263ek init code. This code is 
> just sent as an example, I will send those init patches trough AT91 
> maintainer.

Yeah, support for that board hasn't made it to kernel.org yet.
I hope you'll also update Atmel's other EK boards using this chip.


> Index: linux-2.6.20-at91/drivers/input/touchscreen/ads7846.c
> ===================================================================
> --- linux-2.6.20-at91.orig/drivers/input/touchscreen/ads7846.c
> +++ linux-2.6.20-at91/drivers/input/touchscreen/ads7846.c
> @@ -39,7 +39,8 @@
>  /*
>   * This code has been heavily tested on a Nokia 770, and lightly
>   * tested on other ads7846 devices (OSK/Mistral, Lubbock).
> - * Support for ads7843 and ads7845 has only been stubbed in.
> + * Support for ads7843 tested on Atmel at91sam926x-EK.
> + * Support for ads7845 has only been stubbed in.
>   *
>   * IRQ handling needs a workaround because of a shortcoming in handling
>   * edge triggered IRQs on some platforms like the OMAP1/2. These
> @@ -246,18 +247,15 @@ static int ads7846_read12_ser(struct dev
>  
>  	/* REVISIT:  take a few more samples, and compare ... */
>  
> -	/* maybe off internal vREF */
> -	if (use_internal) {

This part doesn't make sense.  Could you say what you're trying
to do?  The ads7846 requres an external vREF.  Is the issue that
maybe the REF_OFF command isn't just turning off the (non-existent)
internal voltage reference?  If so the comments need updating, and
maybe the name REF_OFF needs to change too...


> -		req->ref_off = REF_OFF;
> -		req->xfer[4].tx_buf = &req->ref_off;
> -		req->xfer[4].len = 1;
> -		spi_message_add_tail(&req->xfer[4], &req->msg);
> -
> -		req->xfer[5].rx_buf = &req->scratch;
> -		req->xfer[5].len = 2;
> -		CS_CHANGE(req->xfer[5]);
> -		spi_message_add_tail(&req->xfer[5], &req->msg);
> -	}
> +	req->ref_off = REF_OFF;
> +	req->xfer[4].tx_buf = &req->ref_off;
> +	req->xfer[4].len = 1;
> +	spi_message_add_tail(&req->xfer[4], &req->msg);
> +
> +	req->xfer[5].rx_buf = &req->scratch;
> +	req->xfer[5].len = 2;
> +	CS_CHANGE(req->xfer[5]);
> +	spi_message_add_tail(&req->xfer[5], &req->msg);
>  
>  	ts->irq_disabled = 1;
>  	disable_irq(spi->irq);
> @@ -536,6 +534,10 @@ static void ads7846_rx(void *ads)
>  	} else
>  		Rt = 0;
>  
> +	if (ts->model == 7843)
> +		Rt = ts->pressure_max / 2;
> +
> +

Heh.  Other than turning whatever-that-is off, this looks like the only
substantive change needed.  You're right, this isn't much at all ... the
ads7843 support has now become almost trivial!


>  	/* Sample found inconsistent by debouncing or pressure is beyond
>  	 * the maximum. Don't report it to user space, repeat at least
>  	 * once more the measurement
> 
> 

  reply	other threads:[~2007-02-16 19:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-22 19:25 [patch 2.6.20-rc1 6/6] input: ads7846 directly senses PENUP state David Brownell
2006-12-22 20:35 ` Dmitry Torokhov
2006-12-22 20:40   ` David Brownell
2006-12-27 14:14     ` Imre Deak
2006-12-28 22:37       ` David Brownell
2006-12-29  6:22         ` Dmitry Torokhov
2006-12-29 20:26           ` David Brownell
2007-01-04 13:49             ` Nicolas Ferre
2007-01-10 20:04               ` David Brownell
2007-02-16 17:37             ` [PATCH] input/spi: add ads7843 support to ads7846 touchscreen driver Nicolas Ferre
2007-02-16 19:08               ` David Brownell [this message]
2007-02-19 12:48                 ` Nicolas Ferre
2007-02-19 18:46                   ` David Brownell
2007-02-20  9:19                     ` Nicolas Ferre
2007-03-01  4:49                       ` Dmitry Torokhov
     [not found] <4582BD29.4020203@rfo.atmel.com>
2006-12-20 23:13 ` David Brownell
2006-12-21 13:08   ` Nicolas Ferre
2006-12-21 14:40     ` Nicolas Ferre
2006-12-22 20:05       ` David Brownell
2006-12-22 19:31     ` David Brownell
2006-12-22 20:14       ` Dmitry Torokhov
  -- strict thread matches above, loose matches on Subject: below --
2006-12-15 14:45 Nicolas FERRE
2006-12-20 22:03 ` Andrew Morton
2006-12-21  9:57   ` Nicolas Ferre

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=200702161108.51014.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=andrew@sanpeople.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.ferre@rfo.atmel.com \
    --cc=patrice.vilchez@rfo.atmel.com \
    --subject='Re: [PATCH] input/spi: add ads7843 support to ads7846 touchscreen driver' \
    /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

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).