<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/drivers/input/touchscreen/ads7846.c, branch v3.1-rc3</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=v3.1-rc3</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=v3.1-rc3'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2011-06-27T20:08:05+00:00</updated>
<entry>
<title>Input: ads7846 - cleanup GPIO initialization</title>
<updated>2011-06-27T20:08:05+00:00</updated>
<author>
<name>Igor Grinberg</name>
<email>grinberg@compulab.co.il</email>
</author>
<published>2011-06-27T20:06:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=58c244009ef6ca450f0d787828a7f2f27651db5b'/>
<id>urn:sha1:58c244009ef6ca450f0d787828a7f2f27651db5b</id>
<content type='text'>
Use gpio_request_one() instead of multiple gpiolib calls.
This also simplifies error handling a bit.

Signed-off-by: Igor Grinberg &lt;grinberg@compulab.co.il&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<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.raptorcs.com/git/talos-op-linux/commit/?id=b73077eb03f510a84b102fb97640e595a958403c'/>
<id>urn:sha1:b73077eb03f510a84b102fb97640e595a958403c</id>
<content type='text'>
</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.raptorcs.com/git/talos-op-linux/commit/?id=1201e7e67634624aec89317cf308cd0d3d8d4770'/>
<id>urn:sha1: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>
</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.raptorcs.com/git/talos-op-linux/commit/?id=ebcaaad9d5e8fd284b8dcf25a24999420f0f56d8'/>
<id>urn:sha1: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>
</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.raptorcs.com/git/talos-op-linux/commit/?id=28350e330cfab46b60a1dbf763b678d859f9f3d9'/>
<id>urn:sha1: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>
</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.raptorcs.com/git/talos-op-linux/commit/?id=1dbe7dada2d03d1313183d439068f1f951a91244'/>
<id>urn:sha1: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>
</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.raptorcs.com/git/talos-op-linux/commit/?id=97eb3f24352ec6632c2127b35d8087d2a809a9b9'/>
<id>urn:sha1:97eb3f24352ec6632c2127b35d8087d2a809a9b9</id>
<content type='text'>
</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.raptorcs.com/git/talos-op-linux/commit/?id=0fbc9fdb7e747500111dcc4a5f5f3ceed0360d71'/>
<id>urn:sha1: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>
</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.raptorcs.com/git/talos-op-linux/commit/?id=3c36e719033ddc09aded770472cbdb477fcb4479'/>
<id>urn:sha1: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>
</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.raptorcs.com/git/talos-op-linux/commit/?id=2991a1ca6e9b13b639a82c0eec0cbc191bf1f42f'/>
<id>urn:sha1: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>
</entry>
</feed>
