This patch series adds support for the touchscreen controllers found in
WM97xx devices. This revision of the series fixes some races when
closing an active device and fixes a shadowed variable.
This patch series is also available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-touch upstream
Mark Brown (6):
Core driver for WM97xx touchscreens
Add chip driver for WM9705 touchscreen
Add chip driver for WM9712 touchscreen
Add chip driver for WM9713 touchscreen
Driver for WM97xx touchscreens in streaming mode on Mainstone
Build system and MAINTAINERS entry for WM97xx touchscreen drivers
MAINTAINERS | 10 +
drivers/input/touchscreen/Kconfig | 52 ++
drivers/input/touchscreen/Makefile | 7 +
drivers/input/touchscreen/mainstone-wm97xx.c | 300 ++++++++++
drivers/input/touchscreen/wm9705.c | 352 ++++++++++++
drivers/input/touchscreen/wm9712.c | 461 +++++++++++++++
drivers/input/touchscreen/wm9713.c | 459 +++++++++++++++
drivers/input/touchscreen/wm97xx-core.c | 786 ++++++++++++++++++++++++++
include/linux/wm97xx.h | 311 ++++++++++
9 files changed, 2738 insertions(+), 0 deletions(-)
create mode 100644 drivers/input/touchscreen/mainstone-wm97xx.c
create mode 100644 drivers/input/touchscreen/wm9705.c
create mode 100644 drivers/input/touchscreen/wm9712.c
create mode 100644 drivers/input/touchscreen/wm9713.c
create mode 100644 drivers/input/touchscreen/wm97xx-core.c
create mode 100644 include/linux/wm97xx.h
--
This patch series adds support for the touchscreen controllers provided by Wolfson Microelectronics WM97xx series chips in both polled and streaming modes. These drivers have been maintained out of tree since 2003. During that time the driver the primary maintainer was Liam Girdwood and a number of people have made contributions including Dmitry Baryshkov, Stanley Cai, Rodolfo Giometti, Russell King, Marc Kleine-Budde, Ian Molton, Vincent Sanders, Andrew Zabolotny, Graeme Gregory, Mike Arthur and myself. Apologies to anyone I have omitted. Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Mike Arthur <mike.arthur@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Stanley Cai <stanley.cai@intel.com> Cc: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Pete MacKay <linux01@architechnical.net> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Ian Molton <spyro@f2s.com> Cc: Vincent Sanders <vince@kyllikki.org> Cc: Andrew Zabolotny <zap@homelink.ru> --- drivers/input/touchscreen/wm97xx-core.c | 786 +++++++++++++++++++++++++++++++ include/linux/wm97xx.h | 311 ++++++++++++ 2 files changed, 1097 insertions(+), 0 deletions(-) create mode 100644 drivers/input/touchscreen/wm97xx-core.c create mode 100644 include/linux/wm97xx.h diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c new file mode 100644 index 0000000..fb265b7 --- /dev/null +++ b/drivers/input/touchscreen/wm97xx-core.c @@ -0,0 +1,786 @@ +/* + * wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712 + * and WM9713 AC97 Codecs. + * + * Copyright 2003, 2004, 2005, 2006, 2007, 2008 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * ...
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Mike Arthur <mike.arthur@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Stanley Cai <stanley.cai@intel.com> Cc: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Pete MacKay <linux01@architechnical.net> Cc: Ian Molton <spyro@f2s.com> Cc: Vince Sanders <vince@kyllikki.org> Cc: Andrew Zabolotny <zap@homelink.ru> --- drivers/input/touchscreen/wm9705.c | 352 ++++++++++++++++++++++++++++++++++++ 1 files changed, 352 insertions(+), 0 deletions(-) create mode 100644 drivers/input/touchscreen/wm9705.c diff --git a/drivers/input/touchscreen/wm9705.c b/drivers/input/touchscreen/wm9705.c new file mode 100644 index 0000000..d4008f9 --- /dev/null +++ b/drivers/input/touchscreen/wm9705.c @@ -0,0 +1,352 @@ +/* + * wm9705.c -- Codec driver for Wolfson WM9705 AC97 Codec. + * + * Copyright 2003, 2004, 2005, 2006, 2007 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com + * Parts Copyright : Ian Molton <spyro@f2s.com> + * Andrew Zabolotny <zap@homelink.ru> + * Russell King <rmk@arm.linux.org.uk> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ + +#include <linux/module.h> +#include <linux/moduleparam.h> +#include <linux/version.h> +#include <linux/kernel.h> +#include <linux/input.h> +#include <linux/delay.h> +#include <linux/bitops.h> +#include <linux/wm97xx.h> + +#define ...
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Mike Arthur <mike.arthur@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Lars Munch <lars@segv.dk> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Stanley Cai <stanley.cai@intel.com> Cc: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Pete MacKay <linux01@architechnical.net> Cc: Ian Molton <spyro@f2s.com> Cc: Vince Sanders <vince@kyllikki.org> Cc: Andrew Zabolotny <zap@homelink.ru> --- drivers/input/touchscreen/wm9712.c | 461 ++++++++++++++++++++++++++++++++++++ 1 files changed, 461 insertions(+), 0 deletions(-) create mode 100644 drivers/input/touchscreen/wm9712.c diff --git a/drivers/input/touchscreen/wm9712.c b/drivers/input/touchscreen/wm9712.c new file mode 100644 index 0000000..ecf3c1d --- /dev/null +++ b/drivers/input/touchscreen/wm9712.c @@ -0,0 +1,461 @@ +/* + * wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs. + * + * Copyright 2003, 2004, 2005, 2006, 2007 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com + * Parts Copyright : Ian Molton <spyro@f2s.com> + * Andrew Zabolotny <zap@homelink.ru> + * Russell King <rmk@arm.linux.org.uk> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ + +#include <linux/module.h> +#include <linux/moduleparam.h> +#include <linux/version.h> +#include <linux/kernel.h> +#include <linux/input.h> +#include <linux/delay.h> +#include <linux/bitops.h> +#include ...
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Mike Arthur <mike.arthur@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Lars Munch <lars@segv.dk> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Stanley Cai <stanley.cai@intel.com> Cc: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Pete MacKay <linux01@architechnical.net> Cc: Ian Molton <spyro@f2s.com> Cc: Vince Sanders <vince@kyllikki.org> Cc: Andrew Zabolotny <zap@homelink.ru> --- drivers/input/touchscreen/wm9713.c | 459 ++++++++++++++++++++++++++++++++++++ 1 files changed, 459 insertions(+), 0 deletions(-) create mode 100644 drivers/input/touchscreen/wm9713.c diff --git a/drivers/input/touchscreen/wm9713.c b/drivers/input/touchscreen/wm9713.c new file mode 100644 index 0000000..0508bda --- /dev/null +++ b/drivers/input/touchscreen/wm9713.c @@ -0,0 +1,459 @@ +/* + * wm9713.c -- Codec touch driver for Wolfson WM9713 AC97 Codec. + * + * Copyright 2003, 2004, 2005, 2006, 2007, 2008 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com + * Parts Copyright : Ian Molton <spyro@f2s.com> + * Andrew Zabolotny <zap@homelink.ru> + * Russell King <rmk@arm.linux.org.uk> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ + +#include <linux/module.h> +#include <linux/moduleparam.h> +#include <linux/version.h> +#include <linux/kernel.h> +#include <linux/input.h> +#include <linux/delay.h> +#include <linux/bitops.h> +#include ...
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com> Signed-off-by: Mike Arthur <mike.arthur@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Stanley Cai <stanley.cai@intel.com> Cc: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Cc: Rodolfo Giometti <giometti@enneenne.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Pete MacKay <linux01@architechnical.net> Cc: Ian Molton <spyro@f2s.com> Cc: Vince Sanders <vince@kyllikki.org> Cc: Andrew Zabolotny <zap@homelink.ru> --- drivers/input/touchscreen/mainstone-wm97xx.c | 300 ++++++++++++++++++++++++++ 1 files changed, 300 insertions(+), 0 deletions(-) create mode 100644 drivers/input/touchscreen/mainstone-wm97xx.c diff --git a/drivers/input/touchscreen/mainstone-wm97xx.c b/drivers/input/touchscreen/mainstone-wm97xx.c new file mode 100644 index 0000000..bd847cd --- /dev/null +++ b/drivers/input/touchscreen/mainstone-wm97xx.c @@ -0,0 +1,300 @@ +/* + * mainstone-wm97xx.c -- Mainstone Continuous Touch screen driver for + * Wolfson WM97xx AC97 Codecs. + * + * Copyright 2004, 2007 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com + * Parts Copyright : Ian Molton <spyro@f2s.com> + * Andrew Zabolotny <zap@homelink.ru> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * Notes: + * This is a wm97xx extended touch driver to capture touch + * data in a continuous manner on the Intel XScale archictecture + * + * Features: + * - codecs supported:- WM9705, WM9712, WM9713 + * - ...
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> --- MAINTAINERS | 10 +++++++ drivers/input/touchscreen/Kconfig | 52 ++++++++++++++++++++++++++++++++++++ drivers/input/touchscreen/Makefile | 7 +++++ 3 files changed, 69 insertions(+), 0 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 6d628fb..f3ba69a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4337,6 +4337,16 @@ L: linux-wireless@vger.kernel.org W: http://oops.ghostprotocols.net:81/blog S: Maintained +WM97XX TOUCHSCREEN DRIVERS +P: Mark Brown +M: broonie@opensource.wolfsonmicro.com +P: Liam Girdwood +M: liam.girdwood@wolfsonmicro.com +L: linux-input@vger.kernel.org +T: git git://opensource.wolfsonmicro.com/linux-2.6-touch +W: http://opensource.wolfsonmicro.com/node/7 +S: Supported + X.25 NETWORK LAYER P: Henner Eisen M: eis@baty.hanse.de diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 90e8e92..0be05a2 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -158,6 +158,58 @@ config TOUCHSCREEN_TOUCHRIGHT To compile this driver as a module, choose M here: the module will be called touchright. +config TOUCHSCREEN_WM97XX + tristate "Support for WM97xx AC97 touchscreen controllers" + depends on AC97_BUS + +config TOUCHSCREEN_WM9705 + bool "WM9705 Touchscreen interface support" + depends on TOUCHSCREEN_WM97XX + help + Say Y here if you have a Wolfson Microelectronics WM9705 touchscreen + controller connected to your system. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called wm9705. + +config TOUCHSCREEN_WM9712 + bool "WM9712 Touchscreen interface support" + depends on TOUCHSCREEN_WM97XX + help + Say Y here if you have a Wolfson Microelectronics WM9712 touchscreen + controller connected to your system. + + If unsure, say ...
Hi Mark, This is not correct. The chip drivers are compiled into wm97xx-ts module, there is no wm9705 module. I fixed it on my side and applied the series to wm97xx branch of my input tree. I also moved changes to Makefile/Kconfig to the appropriate patches instead of doing bulk update as a separate patch. Please take a look and let me know if you see anything wrong. Thank you. -- Dmitry --
Everything looks good, thanks. The build infrastructure was split off to ensure that the tree was buildable with the partially applied series - the core is obviously non-functional without the individual chip drivers. In the past it wouldn't build with missing chip drivers but that shouldn't be the case any more. --
Unfortunately this gets mostly lost due to squashing the changes down (I
don't immediately resend due to the amount of noise created by
repeatedly sending the series.
This should be approximately it.
Lars Munch (1):
wm971x: Check for pen up on both axes
Mark Brown (5):
wm9712: Return 0 rather than RC_PENUP on error
wm9713: Return 0 rather than RC_PENUP on error
wm9713: Fix shadowed variable name
wm97xx-core: Balance enable/disable interrupt calls
wm97xx-core: Disable interrupts on the chip prior to freeing IRQ
For what it's worth you can track the changes in the dev branch of
git://opensource.wolfsonmicro.com/linux-2.6-touch
and via gitweb at:
http://opensource.wolfsonmicro.com/cgi-bin/gitweb.cgi?p=linux-2.6-touch.git;a=log;h=dev
This should all get a lot easier once the driver has been merged...
--
