Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=969111e900226a8dbd1f596f34c09eecd20afc7d
Commit:     969111e900226a8dbd1f596f34c09eecd20afc7d
Parent:     bebb8a2bc180a4c920c57e89b2d713a34c1d096c
Author:     Nicolas Ferre <[EMAIL PROTECTED]>
AuthorDate: Wed Feb 28 23:51:03 2007 -0500
Committer:  Dmitry Torokhov <[EMAIL PROTECTED]>
CommitDate: Wed Feb 28 23:51:03 2007 -0500

    Input: ads7846 - add support for the ads7843 touchscreen
    
    The ads7843 support has now become almost trivial since the last
    rework.
    
    Signed-off-by: Nicolas Ferre <[EMAIL PROTECTED]>
    Acked-by: David Brownell <[EMAIL PROTECTED]>
    Signed-off-by: Dmitry Torokhov <[EMAIL PROTECTED]>
---
 drivers/input/touchscreen/ads7846.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/drivers/input/touchscreen/ads7846.c 
b/drivers/input/touchscreen/ads7846.c
index 0a26e06..2f5fc80 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/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,16 @@ static int ads7846_read12_ser(struct device *dev, 
unsigned command)
 
        /* REVISIT:  take a few more samples, and compare ... */
 
-       /* maybe off internal vREF */
-       if (use_internal) {
-               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);
-       }
+       /* converter in low power mode & enable PENIRQ */
+       req->ref_off = PWRDOWN;
+       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 +535,9 @@ static void ads7846_rx(void *ads)
        } else
                Rt = 0;
 
+       if (ts->model == 7843)
+               Rt = ts->pressure_max / 2;
+
        /* 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
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to