* [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens
@ 2008-05-26 13:42 Mark Brown
2008-05-26 13:42 ` [PATCH 2/4] wm97xx-core: Fix driver name Mark Brown
2008-05-27 5:54 ` [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens Dmitry Torokhov
0 siblings, 2 replies; 5+ messages in thread
From: Mark Brown @ 2008-05-26 13:42 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Rodolfo Giometti, linux-input, linux-kernel, akpm, Mark Brown
phys is displayed in diagnostic output like that from evbug so ensure
that it is set to something.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
drivers/input/touchscreen/wm97xx-core.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c
index e9c7ea4..ba6fb28 100644
--- a/drivers/input/touchscreen/wm97xx-core.c
+++ b/drivers/input/touchscreen/wm97xx-core.c
@@ -616,6 +616,7 @@ static int wm97xx_probe(struct device *dev)
/* set up touch configuration */
wm->input_dev->name = "wm97xx touchscreen";
+ wm->input_dev->phys = "wm97xx";
wm->input_dev->open = wm97xx_ts_input_open;
wm->input_dev->close = wm97xx_ts_input_close;
set_bit(EV_ABS, wm->input_dev->evbit);
--
1.5.5.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] wm97xx-core: Fix driver name
2008-05-26 13:42 [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens Mark Brown
@ 2008-05-26 13:42 ` Mark Brown
2008-05-26 13:42 ` [PATCH 3/4] wm97xx-core: Fix race on PHY init Mark Brown
2008-05-27 5:54 ` [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens Dmitry Torokhov
1 sibling, 1 reply; 5+ messages in thread
From: Mark Brown @ 2008-05-26 13:42 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Rodolfo Giometti, linux-input, linux-kernel, akpm, Mark Brown
Fix driver name - thanks to Guennadi Liakhovetski <g.liakhovetski@gmx.de> for
reporting this.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
drivers/input/touchscreen/wm97xx-core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c
index ba6fb28..8a00918 100644
--- a/drivers/input/touchscreen/wm97xx-core.c
+++ b/drivers/input/touchscreen/wm97xx-core.c
@@ -802,7 +802,7 @@ void wm97xx_unregister_mach_ops(struct wm97xx *wm)
EXPORT_SYMBOL_GPL(wm97xx_unregister_mach_ops);
static struct device_driver wm97xx_driver = {
- .name = "ac97",
+ .name = "wm97xx-ts",
.bus = &ac97_bus_type,
.owner = THIS_MODULE,
.probe = wm97xx_probe,
--
1.5.5.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] wm97xx-core: Fix race on PHY init
2008-05-26 13:42 ` [PATCH 2/4] wm97xx-core: Fix driver name Mark Brown
@ 2008-05-26 13:42 ` Mark Brown
2008-05-26 13:42 ` [PATCH 4/4] wm9713: Support five wire panels Mark Brown
0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2008-05-26 13:42 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Rodolfo Giometti, linux-input, linux-kernel, akpm, Mark Brown
The chip phy_init() function must be called before the dig_enable() function
but dig_enable() is called when the device is opened and we only call
phy_init() after having reigstered the device, meaning the two can race.
Fix this by doing the phy_init() before we register the input device.
Thanks to Rodolfo Giometti <giometti@enneenne.com> for the report.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
drivers/input/touchscreen/wm97xx-core.c | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c
index 8a00918..cdc24ad 100644
--- a/drivers/input/touchscreen/wm97xx-core.c
+++ b/drivers/input/touchscreen/wm97xx-core.c
@@ -608,6 +608,17 @@ static int wm97xx_probe(struct device *dev)
goto alloc_err;
}
+ /* set up physical characteristics */
+ wm->codec->phy_init(wm);
+
+ /* load gpio cache */
+ wm->gpio[0] = wm97xx_reg_read(wm, AC97_GPIO_CFG);
+ wm->gpio[1] = wm97xx_reg_read(wm, AC97_GPIO_POLARITY);
+ wm->gpio[2] = wm97xx_reg_read(wm, AC97_GPIO_STICKY);
+ wm->gpio[3] = wm97xx_reg_read(wm, AC97_GPIO_WAKEUP);
+ wm->gpio[4] = wm97xx_reg_read(wm, AC97_GPIO_STATUS);
+ wm->gpio[5] = wm97xx_reg_read(wm, AC97_MISC_AFE);
+
wm->input_dev = input_allocate_device();
if (wm->input_dev == NULL) {
ret = -ENOMEM;
@@ -635,17 +646,6 @@ static int wm97xx_probe(struct device *dev)
if (ret < 0)
goto dev_alloc_err;
- /* set up physical characteristics */
- wm->codec->phy_init(wm);
-
- /* load gpio cache */
- wm->gpio[0] = wm97xx_reg_read(wm, AC97_GPIO_CFG);
- wm->gpio[1] = wm97xx_reg_read(wm, AC97_GPIO_POLARITY);
- wm->gpio[2] = wm97xx_reg_read(wm, AC97_GPIO_STICKY);
- wm->gpio[3] = wm97xx_reg_read(wm, AC97_GPIO_WAKEUP);
- wm->gpio[4] = wm97xx_reg_read(wm, AC97_GPIO_STATUS);
- wm->gpio[5] = wm97xx_reg_read(wm, AC97_MISC_AFE);
-
/* register our battery device */
wm->battery_dev = platform_device_alloc("wm97xx-battery", -1);
if (!wm->battery_dev) {
--
1.5.5.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] wm9713: Support five wire panels
2008-05-26 13:42 ` [PATCH 3/4] wm97xx-core: Fix race on PHY init Mark Brown
@ 2008-05-26 13:42 ` Mark Brown
0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2008-05-26 13:42 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Rodolfo Giometti, linux-input, linux-kernel, akpm, Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
drivers/input/touchscreen/wm9713.c | 22 ++++++++++++++++++++++
include/linux/wm97xx.h | 1 +
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/drivers/input/touchscreen/wm9713.c b/drivers/input/touchscreen/wm9713.c
index 01278bd..8384587 100644
--- a/drivers/input/touchscreen/wm9713.c
+++ b/drivers/input/touchscreen/wm9713.c
@@ -85,6 +85,15 @@ module_param(delay, int, 0);
MODULE_PARM_DESC(delay, "Set adc sample delay.");
/*
+ * Set five_wire = 1 to use a 5 wire touchscreen.
+ *
+ * NOTE: Five wire mode does not allow for readback of pressure.
+ */
+static int five_wire;
+module_param(five_wire, int, 0);
+MODULE_PARM_DESC(five_wire, "Set to '1' to use 5-wire touchscreen.");
+
+/*
* Set adc mask function.
*
* Sources of glitch noise, such as signals driving an LCD display, may feed
@@ -162,6 +171,19 @@ static void wm9713_phy_init(struct wm97xx *wm)
64000 / rpu);
}
+ /* Five wire panel? */
+ if (five_wire) {
+ dig3 |= WM9713_45W;
+ dev_info(wm->dev, "setting 5-wire touchscreen mode.");
+
+ if (pil) {
+ dev_warn(wm->dev,
+ "Pressure measurement not supported in 5 "
+ "wire mode, disabling\n");
+ pil = 0;
+ }
+ }
+
/* touchpanel pressure */
if (pil == 2) {
dig3 |= WM9712_PIL;
diff --git a/include/linux/wm97xx.h b/include/linux/wm97xx.h
index 4d13732..6f69968 100644
--- a/include/linux/wm97xx.h
+++ b/include/linux/wm97xx.h
@@ -100,6 +100,7 @@
#define WM9713_ADCSEL_Y 0x0004 /* Y measurement */
#define WM9713_ADCSEL_PRES 0x0008 /* Pressure measurement */
#define WM9713_COO 0x0001 /* enable coordinate mode */
+#define WM9713_45W 0x1000 /* set for 5 wire panel */
#define WM9713_PDEN 0x0800 /* measure only when pen down */
#define WM9713_ADCSEL_MASK 0x00fe /* ADC selection mask */
#define WM9713_WAIT 0x0200 /* coordinate wait */
--
1.5.5.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens
2008-05-26 13:42 [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens Mark Brown
2008-05-26 13:42 ` [PATCH 2/4] wm97xx-core: Fix driver name Mark Brown
@ 2008-05-27 5:54 ` Dmitry Torokhov
1 sibling, 0 replies; 5+ messages in thread
From: Dmitry Torokhov @ 2008-05-27 5:54 UTC (permalink / raw)
To: Mark Brown; +Cc: Rodolfo Giometti, linux-input, linux-kernel, akpm
On Monday 26 May 2008 09:42, Mark Brown wrote:
> phys is displayed in diagnostic output like that from evbug so ensure
> that it is set to something.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Applied all 4 to "for-linus" branch. Thank you Mark.
--
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-05-27 5:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-26 13:42 [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens Mark Brown
2008-05-26 13:42 ` [PATCH 2/4] wm97xx-core: Fix driver name Mark Brown
2008-05-26 13:42 ` [PATCH 3/4] wm97xx-core: Fix race on PHY init Mark Brown
2008-05-26 13:42 ` [PATCH 4/4] wm9713: Support five wire panels Mark Brown
2008-05-27 5:54 ` [PATCH 1/4] wm97xx-core: Report a phys for WM97xx touchscreens Dmitry Torokhov
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.