<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/input/touchscreen/ads7846.c, branch v3.0.37</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>Merge branch 'next' into for-linus</title>
<updated>2011-05-24T07:06:26+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2011-05-24T07:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b73077eb03f510a84b102fb97640e595a958403c'/>
<id>b73077eb03f510a84b102fb97640e595a958403c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - fix gpio_pendown configuration</title>
<updated>2011-05-12T15:28:57+00:00</updated>
<author>
<name>Igor Grinberg</name>
<email>grinberg@compulab.co.il</email>
</author>
<published>2011-05-11T22:45:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=1201e7e67634624aec89317cf308cd0d3d8d4770'/>
<id>1201e7e67634624aec89317cf308cd0d3d8d4770</id>
<content type='text'>
The pendown gpio was requested but not configured for input.
Configure it for input.

Signed-off-by: Igor Grinberg &lt;grinberg@compulab.co.il&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pendown gpio was requested but not configured for input.
Configure it for input.

Signed-off-by: Igor Grinberg &lt;grinberg@compulab.co.il&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - add possibility to use external vref on ads7846</title>
<updated>2011-05-12T15:28:56+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@systec-electronic.com</email>
</author>
<published>2011-05-11T23:24:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=ebcaaad9d5e8fd284b8dcf25a24999420f0f56d8'/>
<id>ebcaaad9d5e8fd284b8dcf25a24999420f0f56d8</id>
<content type='text'>
Just set vref_mv in your platform config to use external vref. Otherwise
the internal one is used.

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just set vref_mv in your platform config to use external vref. Otherwise
the internal one is used.

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - remove unused variable from struct ads7845_ser_req</title>
<updated>2011-05-05T15:50:53+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@systec-electronic.com</email>
</author>
<published>2011-05-05T15:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=28350e330cfab46b60a1dbf763b678d859f9f3d9'/>
<id>28350e330cfab46b60a1dbf763b678d859f9f3d9</id>
<content type='text'>
Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - make transfer buffers DMA safe</title>
<updated>2011-05-05T15:50:47+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@systec-electronic.com</email>
</author>
<published>2011-05-05T15:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=1dbe7dada2d03d1313183d439068f1f951a91244'/>
<id>1dbe7dada2d03d1313183d439068f1f951a91244</id>
<content type='text'>
req.sample needs its own cacheline otherwise accessing req.msg fetches
it in again.

Note: This effect doesn't occur if the underlying SPI driver doesn't use
DMA at all.

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Acked-by: Jonathan Cameron &lt;jic23@cam.ac.uk&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
req.sample needs its own cacheline otherwise accessing req.msg fetches
it in again.

Note: This effect doesn't occur if the underlying SPI driver doesn't use
DMA at all.

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Acked-by: Jonathan Cameron &lt;jic23@cam.ac.uk&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'next' into for-linus</title>
<updated>2011-03-19T06:38:50+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2011-03-19T06:38:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=97eb3f24352ec6632c2127b35d8087d2a809a9b9'/>
<id>97eb3f24352ec6632c2127b35d8087d2a809a9b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - check proper condition when freeing gpio</title>
<updated>2011-02-11T08:58:24+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2011-02-04T08:37:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=0fbc9fdb7e747500111dcc4a5f5f3ceed0360d71'/>
<id>0fbc9fdb7e747500111dcc4a5f5f3ceed0360d71</id>
<content type='text'>
When driver uses custom pendown detection method gpio_pendown is not
set up and so we should not try to free it, otherwise we are presented
with:

------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:1258 gpio_free+0x100/0x12c()
Modules linked in:
[&lt;c0061208&gt;] (unwind_backtrace+0x0/0xe4) from [&lt;c0091f58&gt;](warn_slowpath_common+0x4c/0x64)
[&lt;c0091f58&gt;] (warn_slowpath_common+0x4c/0x64) from [&lt;c0091f88&gt;](warn_slowpath_null+0x18/0x1c)
[&lt;c0091f88&gt;] (warn_slowpath_null+0x18/0x1c) from [&lt;c024e610&gt;](gpio_free+0x100/0x12c)
[&lt;c024e610&gt;] (gpio_free+0x100/0x12c) from [&lt;c03e9fbc&gt;](ads7846_probe+0xa38/0xc5c)
[&lt;c03e9fbc&gt;] (ads7846_probe+0xa38/0xc5c) from [&lt;c02cff14&gt;](spi_drv_probe+0x18/0x1c)
[&lt;c02cff14&gt;] (spi_drv_probe+0x18/0x1c) from [&lt;c028bca4&gt;](driver_probe_device+0xc8/0x184)
[&lt;c028bca4&gt;] (driver_probe_device+0xc8/0x184) from [&lt;c028bdc8&gt;](__driver_attach+0x68/0x8c)
[&lt;c028bdc8&gt;] (__driver_attach+0x68/0x8c) from [&lt;c028b4c8&gt;](bus_for_each_dev+0x48/0x74)
[&lt;c028b4c8&gt;] (bus_for_each_dev+0x48/0x74) from [&lt;c028ae08&gt;](bus_add_driver+0xa0/0x220)
[&lt;c028ae08&gt;] (bus_add_driver+0xa0/0x220) from [&lt;c028c0c0&gt;](driver_register+0xa8/0x134)
[&lt;c028c0c0&gt;] (driver_register+0xa8/0x134) from [&lt;c0050550&gt;](do_one_initcall+0xcc/0x1a4)
[&lt;c0050550&gt;] (do_one_initcall+0xcc/0x1a4) from [&lt;c00084e4&gt;](kernel_init+0x14c/0x214)
[&lt;c00084e4&gt;] (kernel_init+0x14c/0x214) from [&lt;c005b494&gt;](kernel_thread_exit+0x0/0x8)
---[ end trace 4053287f8a5ec18f ]---

Also rearrange ads7846_setup_pendown() to have only one exit point
returning success.

Reported-by: Sourav Poddar &lt;sourav.poddar@ti.com&gt;
Acked-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Reviewed-by: Charulatha V &lt;charu@ti.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When driver uses custom pendown detection method gpio_pendown is not
set up and so we should not try to free it, otherwise we are presented
with:

------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:1258 gpio_free+0x100/0x12c()
Modules linked in:
[&lt;c0061208&gt;] (unwind_backtrace+0x0/0xe4) from [&lt;c0091f58&gt;](warn_slowpath_common+0x4c/0x64)
[&lt;c0091f58&gt;] (warn_slowpath_common+0x4c/0x64) from [&lt;c0091f88&gt;](warn_slowpath_null+0x18/0x1c)
[&lt;c0091f88&gt;] (warn_slowpath_null+0x18/0x1c) from [&lt;c024e610&gt;](gpio_free+0x100/0x12c)
[&lt;c024e610&gt;] (gpio_free+0x100/0x12c) from [&lt;c03e9fbc&gt;](ads7846_probe+0xa38/0xc5c)
[&lt;c03e9fbc&gt;] (ads7846_probe+0xa38/0xc5c) from [&lt;c02cff14&gt;](spi_drv_probe+0x18/0x1c)
[&lt;c02cff14&gt;] (spi_drv_probe+0x18/0x1c) from [&lt;c028bca4&gt;](driver_probe_device+0xc8/0x184)
[&lt;c028bca4&gt;] (driver_probe_device+0xc8/0x184) from [&lt;c028bdc8&gt;](__driver_attach+0x68/0x8c)
[&lt;c028bdc8&gt;] (__driver_attach+0x68/0x8c) from [&lt;c028b4c8&gt;](bus_for_each_dev+0x48/0x74)
[&lt;c028b4c8&gt;] (bus_for_each_dev+0x48/0x74) from [&lt;c028ae08&gt;](bus_add_driver+0xa0/0x220)
[&lt;c028ae08&gt;] (bus_add_driver+0xa0/0x220) from [&lt;c028c0c0&gt;](driver_register+0xa8/0x134)
[&lt;c028c0c0&gt;] (driver_register+0xa8/0x134) from [&lt;c0050550&gt;](do_one_initcall+0xcc/0x1a4)
[&lt;c0050550&gt;] (do_one_initcall+0xcc/0x1a4) from [&lt;c00084e4&gt;](kernel_init+0x14c/0x214)
[&lt;c00084e4&gt;] (kernel_init+0x14c/0x214) from [&lt;c005b494&gt;](kernel_thread_exit+0x0/0x8)
---[ end trace 4053287f8a5ec18f ]---

Also rearrange ads7846_setup_pendown() to have only one exit point
returning success.

Reported-by: Sourav Poddar &lt;sourav.poddar@ti.com&gt;
Acked-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Reviewed-by: Charulatha V &lt;charu@ti.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - convert to dev_pm_ops</title>
<updated>2011-01-21T06:54:53+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2011-01-21T06:51:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=3c36e719033ddc09aded770472cbdb477fcb4479'/>
<id>3c36e719033ddc09aded770472cbdb477fcb4479</id>
<content type='text'>
There is a move to deprecate bus-specific PM operations and move to
using dev_pm_ops instead in order to reduce the amount of boilerplate
code in buses and facilitate updates to the PM core. Do this move for
the ads7846 driver.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Acked-by: Michael Hennerich &lt;Michael.Hennerich@analog.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a move to deprecate bus-specific PM operations and move to
using dev_pm_ops instead in order to reduce the amount of boilerplate
code in buses and facilitate updates to the PM core. Do this move for
the ads7846 driver.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Acked-by: Michael Hennerich &lt;Michael.Hennerich@analog.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - switch to using threaded IRQ</title>
<updated>2010-10-18T04:10:28+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jason77.wang@gmail.com</email>
</author>
<published>2010-10-13T18:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=2991a1ca6e9b13b639a82c0eec0cbc191bf1f42f'/>
<id>2991a1ca6e9b13b639a82c0eec0cbc191bf1f42f</id>
<content type='text'>
Commit 9114337 introduces regulator operations in ads7846 touchscreen
driver. Among these operations, some are called while holding a
spinlock. On many platforms regulators reside on slow buses, such as
I2C/SPI and require sleep while accessing them.

The touchscreen itself is also a SPI device and currently relies on
asynchronous SPI access to avoid sleeping in interrupt context. Let's
switch to using threaded IRQ to be able to access SPI bus
synchronously (which simplifies driver a bit); it also allows safe
access to the regulators as well.

This has been tested on the ti_omap3530evm board:
 1) using ts_lib after normal boot
 2) using ts_lib after "#echo 1/0 &gt; /sys/bus/spi/devices/spi0.1/disable"
 3) using ts_lib after "#echo mem &gt; /sys/power/state" and "wake up"

Also tested on pandora.

Based on original patch by Dmitry Torokhov.

Tested-by: Grazvydas Ignotas &lt;notasas@gmail.com&gt;
Signed-off-by: Jason Wang &lt;jason77.wang@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 9114337 introduces regulator operations in ads7846 touchscreen
driver. Among these operations, some are called while holding a
spinlock. On many platforms regulators reside on slow buses, such as
I2C/SPI and require sleep while accessing them.

The touchscreen itself is also a SPI device and currently relies on
asynchronous SPI access to avoid sleeping in interrupt context. Let's
switch to using threaded IRQ to be able to access SPI bus
synchronously (which simplifies driver a bit); it also allows safe
access to the regulators as well.

This has been tested on the ti_omap3530evm board:
 1) using ts_lib after normal boot
 2) using ts_lib after "#echo 1/0 &gt; /sys/bus/spi/devices/spi0.1/disable"
 3) using ts_lib after "#echo mem &gt; /sys/power/state" and "wake up"

Also tested on pandora.

Based on original patch by Dmitry Torokhov.

Tested-by: Grazvydas Ignotas &lt;notasas@gmail.com&gt;
Signed-off-by: Jason Wang &lt;jason77.wang@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: ads7846 - extend the driver for ads7845 controller support</title>
<updated>2010-07-03T20:13:22+00:00</updated>
<author>
<name>Anatolij Gustschin</name>
<email>agust@denx.de</email>
</author>
<published>2010-07-01T16:01:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=3eac5c7e44f35eb07f0ecb28ce60f15b2dda1932'/>
<id>3eac5c7e44f35eb07f0ecb28ce60f15b2dda1932</id>
<content type='text'>
ADS7845 is a controller for 5-wire touch screens and somewhat
different from 7846. It requires three serial communications to
accomplish one complete conversion. Unlike 7846 it doesn't allow
Z1-/Z2- position measurement.

The patch extends the ads7846 driver to also support ads7845.
The packet struct is extended to contain needed command and
conversion buffers. ads7846_rx() and ads7846_rx_val() now
differentiate between 7845 and 7846 case. ads7846_probe() is
modified to setup ads7845 specific command and conversion
messages and to switch ads7845 into power-down mode, since
this is needed to be prepared to respond to pendown interrupts.

Signed-off-by: Anatolij Gustschin &lt;agust@denx.de&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ADS7845 is a controller for 5-wire touch screens and somewhat
different from 7846. It requires three serial communications to
accomplish one complete conversion. Unlike 7846 it doesn't allow
Z1-/Z2- position measurement.

The patch extends the ads7846 driver to also support ads7845.
The packet struct is extended to contain needed command and
conversion buffers. ads7846_rx() and ads7846_rx_val() now
differentiate between 7845 and 7846 case. ads7846_probe() is
modified to setup ads7845 specific command and conversion
messages and to switch ads7845 into power-down mode, since
this is needed to be prepared to respond to pendown interrupts.

Signed-off-by: Anatolij Gustschin &lt;agust@denx.de&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
</feed>
