* [PATCH 1/2] Add Palm support to Mainstone accelerated touch
@ 2009-07-17 8:00 Marek Vasut
2009-07-17 10:22 ` Mark Brown
0 siblings, 1 reply; 4+ messages in thread
From: Marek Vasut @ 2009-07-17 8:00 UTC (permalink / raw)
To: alsa-devel; +Cc: Mark Brown
>From f32fa9ef6476be0cf8106bc57a98724c48d4baa1 Mon Sep 17 00:00:00 2001
From: Marek Vasut <marek.vasut@gmail.com>
Date: Fri, 17 Jul 2009 09:54:13 +0200
Subject: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
This patch refactors the Mainstone accelerated touch code a little and
adds support for interrupt driven touchscreen on Palm LifeDrive, TX and
Tungsten T5.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
drivers/input/touchscreen/Kconfig | 4 +-
drivers/input/touchscreen/mainstone-wm97xx.c | 52 +++++++++++++++++--------
2 files changed, 37 insertions(+), 19 deletions(-)
diff --git a/drivers/input/touchscreen/Kconfig
b/drivers/input/touchscreen/Kconfig
index 72e2712..0fdae1a 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -366,11 +366,11 @@ config TOUCHSCREEN_WM97XX_ATMEL
be called atmel-wm97xx.
config TOUCHSCREEN_WM97XX_MAINSTONE
- tristate "WM97xx Mainstone accelerated touch"
+ tristate "WM97xx Mainstone/Palm accelerated touch"
depends on TOUCHSCREEN_WM97XX && ARCH_PXA
help
Say Y here for support for streaming mode with WM97xx touchscreens
- on Mainstone systems.
+ on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
If unsure, say N.
diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c
b/drivers/input/touchscreen/mainstone-wm97xx.c
index 4cc047a..60bda9a 100644
--- a/drivers/input/touchscreen/mainstone-wm97xx.c
+++ b/drivers/input/touchscreen/mainstone-wm97xx.c
@@ -31,9 +31,13 @@
#include <linux/interrupt.h>
#include <linux/wm97xx.h>
#include <linux/io.h>
+#include <linux/gpio.h>
+
#include <mach/regs-ac97.h>
-#define VERSION "0.13"
+#include <asm/mach-types.h>
+
+#define VERSION "0.14"
struct continuous {
u16 id; /* codec id */
@@ -62,6 +66,7 @@ static const struct continuous cinfo[] = {
/* continuous speed index */
static int sp_idx;
static u16 last, tries;
+static int irq;
/*
* Pen sampling frequency (Hz) in continuous mode.
@@ -171,7 +176,7 @@ up:
static int wm97xx_acc_startup(struct wm97xx *wm)
{
- int idx = 0;
+ int idx = 0, ret = 0;
/* check we have a codec */
if (wm->ac97 == NULL)
@@ -191,18 +196,37 @@ static int wm97xx_acc_startup(struct wm97xx *wm)
"mainstone accelerated touchscreen driver, %d samples/sec\n",
cinfo[sp_idx].speed);
+ /* IRQ driven touchscreen is used on Palm hardware */
+ if (machine_is_palmt5() || machine_is_palmtx() || machine_is_palmld())
{
+ pen_int = 1;
+ irq = 27;
+ } else if (machine_is_mainstone() && pen_int)
+ irq = 4;
+
+ if (irq) {
+ ret = gpio_request(irq, "Touchscreen IRQ");
+ if (ret)
+ goto out;
+
+ ret = gpio_direction_input(irq);
+ if (ret) {
+ gpio_free(irq);
+ goto out;
+ }
+
+ wm->pen_irq = gpio_to_irq(irq);
+ set_irq_type(wm->pen_irq, IRQ_TYPE_EDGE_BOTH);
+ } else /* pen irq not supported */
+ pen_int = 0;
+
/* codec specific irq config */
if (pen_int) {
switch (wm->id) {
case WM9705_ID2:
- wm->pen_irq = IRQ_GPIO(4);
- set_irq_type(IRQ_GPIO(4), IRQ_TYPE_EDGE_BOTH);
break;
case WM9712_ID2:
case WM9713_ID2:
- /* enable pen down interrupt */
/* use PEN_DOWN GPIO 13 to assert IRQ on GPIO line 2
*/
- wm->pen_irq = MAINSTONE_AC97_IRQ;
wm97xx_config_gpio(wm, WM97XX_GPIO_13, WM97XX_GPIO_IN,
WM97XX_GPIO_POL_HIGH,
WM97XX_GPIO_STICKY,
@@ -220,23 +244,17 @@ static int wm97xx_acc_startup(struct wm97xx *wm)
}
}
- return 0;
+out:
+ return ret;
}
static void wm97xx_acc_shutdown(struct wm97xx *wm)
{
/* codec specific deconfig */
if (pen_int) {
- switch (wm->id & 0xffff) {
- case WM9705_ID2:
- wm->pen_irq = 0;
- break;
- case WM9712_ID2:
- case WM9713_ID2:
- /* disable interrupt */
- wm->pen_irq = 0;
- break;
- }
+ if (irq)
+ gpio_free(irq);
+ wm->pen_irq = 0;
}
}
--
1.6.3.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
2009-07-17 8:00 [PATCH 1/2] Add Palm support to Mainstone accelerated touch Marek Vasut
@ 2009-07-17 10:22 ` Mark Brown
2009-07-17 11:10 ` Marek Vasut
0 siblings, 1 reply; 4+ messages in thread
From: Mark Brown @ 2009-07-17 10:22 UTC (permalink / raw)
To: Marek Vasut; +Cc: alsa-devel
On Fri, Jul 17, 2009 at 10:00:24AM +0200, Marek Vasut wrote:
> From f32fa9ef6476be0cf8106bc57a98724c48d4baa1 Mon Sep 17 00:00:00 2001
> From: Marek Vasut <marek.vasut@gmail.com>
> Date: Fri, 17 Jul 2009 09:54:13 +0200
> Subject: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
>
> This patch refactors the Mainstone accelerated touch code a little and
> adds support for interrupt driven touchscreen on Palm LifeDrive, TX and
> Tungsten T5.
>
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
The code looks OK but it looks like your mailer has damaged the patch
rather badly - it appears to be padded with whitespace to 80 columns.
When you resend for this please just remove the version number from the
driver, it's not needed now the code is in mainline.
You've also submitted to the wrong subsystem, this patch is for the
input subsystem so should go to Dmitry and linux-input (CC me).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
2009-07-17 10:22 ` Mark Brown
@ 2009-07-17 11:10 ` Marek Vasut
2009-07-17 11:15 ` Mark Brown
0 siblings, 1 reply; 4+ messages in thread
From: Marek Vasut @ 2009-07-17 11:10 UTC (permalink / raw)
To: linux-input; +Cc: alsa-devel, Mark Brown, Dmitry Torokhov
[-- Attachment #1: Type: text/plain, Size: 1209 bytes --]
Dne Pá 17. července 2009 12:22:18 Mark Brown napsal(a):
> On Fri, Jul 17, 2009 at 10:00:24AM +0200, Marek Vasut wrote:
> > From f32fa9ef6476be0cf8106bc57a98724c48d4baa1 Mon Sep 17 00:00:00 2001
> > From: Marek Vasut <marek.vasut@gmail.com>
> > Date: Fri, 17 Jul 2009 09:54:13 +0200
> > Subject: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
> >
> > This patch refactors the Mainstone accelerated touch code a little and
> > adds support for interrupt driven touchscreen on Palm LifeDrive, TX and
> > Tungsten T5.
> >
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
>
> The code looks OK but it looks like your mailer has damaged the patch
> rather badly - it appears to be padded with whitespace to 80 columns.
> When you resend for this please just remove the version number from the
> driver, it's not needed now the code is in mainline.
>
> You've also submitted to the wrong subsystem, this patch is for the
> input subsystem so should go to Dmitry and linux-input (CC me).
Ok, sending to linux-input, CC Mark, Dmitry, alsa-devel. Im sending the patch
as an attachment to prevent breakage (sorry, I'll investigate what's wrong
with KMail or my settings).
[-- Attachment #2: 0001-Add-Palm-support-to-Mainstone-accelerated-touch.patch --]
[-- Type: text/x-patch, Size: 3966 bytes --]
From fded04a841d96814cc50a51a541410ed102bcf1e Mon Sep 17 00:00:00 2001
From: Marek Vasut <marek.vasut@gmail.com>
Date: Fri, 17 Jul 2009 09:54:13 +0200
Subject: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
This patch refactors the Mainstone accelerated touch code a little and
adds support for interrupt driven touchscreen on Palm LifeDrive, TX and
Tungsten T5.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
drivers/input/touchscreen/Kconfig | 4 +-
drivers/input/touchscreen/mainstone-wm97xx.c | 50 +++++++++++++++++---------
2 files changed, 35 insertions(+), 19 deletions(-)
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index 72e2712..0fdae1a 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -366,11 +366,11 @@ config TOUCHSCREEN_WM97XX_ATMEL
be called atmel-wm97xx.
config TOUCHSCREEN_WM97XX_MAINSTONE
- tristate "WM97xx Mainstone accelerated touch"
+ tristate "WM97xx Mainstone/Palm accelerated touch"
depends on TOUCHSCREEN_WM97XX && ARCH_PXA
help
Say Y here for support for streaming mode with WM97xx touchscreens
- on Mainstone systems.
+ on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
If unsure, say N.
diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c b/drivers/input/touchscreen/mainstone-wm97xx.c
index 4cc047a..de02f87 100644
--- a/drivers/input/touchscreen/mainstone-wm97xx.c
+++ b/drivers/input/touchscreen/mainstone-wm97xx.c
@@ -31,9 +31,11 @@
#include <linux/interrupt.h>
#include <linux/wm97xx.h>
#include <linux/io.h>
+#include <linux/gpio.h>
+
#include <mach/regs-ac97.h>
-#define VERSION "0.13"
+#include <asm/mach-types.h>
struct continuous {
u16 id; /* codec id */
@@ -62,6 +64,7 @@ static const struct continuous cinfo[] = {
/* continuous speed index */
static int sp_idx;
static u16 last, tries;
+static int irq;
/*
* Pen sampling frequency (Hz) in continuous mode.
@@ -171,7 +174,7 @@ up:
static int wm97xx_acc_startup(struct wm97xx *wm)
{
- int idx = 0;
+ int idx = 0, ret = 0;
/* check we have a codec */
if (wm->ac97 == NULL)
@@ -191,18 +194,37 @@ static int wm97xx_acc_startup(struct wm97xx *wm)
"mainstone accelerated touchscreen driver, %d samples/sec\n",
cinfo[sp_idx].speed);
+ /* IRQ driven touchscreen is used on Palm hardware */
+ if (machine_is_palmt5() || machine_is_palmtx() || machine_is_palmld()) {
+ pen_int = 1;
+ irq = 27;
+ } else if (machine_is_mainstone() && pen_int)
+ irq = 4;
+
+ if (irq) {
+ ret = gpio_request(irq, "Touchscreen IRQ");
+ if (ret)
+ goto out;
+
+ ret = gpio_direction_input(irq);
+ if (ret) {
+ gpio_free(irq);
+ goto out;
+ }
+
+ wm->pen_irq = gpio_to_irq(irq);
+ set_irq_type(wm->pen_irq, IRQ_TYPE_EDGE_BOTH);
+ } else /* pen irq not supported */
+ pen_int = 0;
+
/* codec specific irq config */
if (pen_int) {
switch (wm->id) {
case WM9705_ID2:
- wm->pen_irq = IRQ_GPIO(4);
- set_irq_type(IRQ_GPIO(4), IRQ_TYPE_EDGE_BOTH);
break;
case WM9712_ID2:
case WM9713_ID2:
- /* enable pen down interrupt */
/* use PEN_DOWN GPIO 13 to assert IRQ on GPIO line 2 */
- wm->pen_irq = MAINSTONE_AC97_IRQ;
wm97xx_config_gpio(wm, WM97XX_GPIO_13, WM97XX_GPIO_IN,
WM97XX_GPIO_POL_HIGH,
WM97XX_GPIO_STICKY,
@@ -220,23 +242,17 @@ static int wm97xx_acc_startup(struct wm97xx *wm)
}
}
- return 0;
+out:
+ return ret;
}
static void wm97xx_acc_shutdown(struct wm97xx *wm)
{
/* codec specific deconfig */
if (pen_int) {
- switch (wm->id & 0xffff) {
- case WM9705_ID2:
- wm->pen_irq = 0;
- break;
- case WM9712_ID2:
- case WM9713_ID2:
- /* disable interrupt */
- wm->pen_irq = 0;
- break;
- }
+ if (irq)
+ gpio_free(irq);
+ wm->pen_irq = 0;
}
}
--
1.6.3.3
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] Add Palm support to Mainstone accelerated touch
2009-07-17 11:10 ` Marek Vasut
@ 2009-07-17 11:15 ` Mark Brown
0 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2009-07-17 11:15 UTC (permalink / raw)
To: Marek Vasut; +Cc: linux-input, alsa-devel, Dmitry Torokhov
On Fri, Jul 17, 2009 at 01:10:14PM +0200, Marek Vasut wrote:
> Ok, sending to linux-input, CC Mark, Dmitry, alsa-devel. Im sending the patch
> as an attachment to prevent breakage (sorry, I'll investigate what's wrong
> with KMail or my settings).
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-07-17 11:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-17 8:00 [PATCH 1/2] Add Palm support to Mainstone accelerated touch Marek Vasut
2009-07-17 10:22 ` Mark Brown
2009-07-17 11:10 ` Marek Vasut
2009-07-17 11:15 ` Mark Brown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.