Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 969111e9 authored by Nicolas Ferre's avatar Nicolas Ferre Committed by Dmitry Torokhov
Browse files

Input: ads7846 - add support for the ads7843 touchscreen



The ads7843 support has now become almost trivial since the last
rework.

Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@rfo.atmel.com>
Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent bebb8a2b
Loading
Loading
Loading
Loading
+15 −13
Original line number Diff line number Diff line
@@ -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,9 +247,8 @@ 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;
	/* 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);
@@ -257,7 +257,6 @@ static int ads7846_read12_ser(struct device *dev, unsigned command)
	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