Re: [UPDATED v4] WM97xx touchscreen drivers

From: Mark Brown
Date: Mon Feb 04 2008 - 16:43:02 EST


On Mon, Feb 04, 2008 at 02:00:24PM -0500, linux01@xxxxxxxxxxxxxxxxxx wrote:
> Mark Brown wrote:

> > This patch series adds support for the touchscreen controllers provided
> > by Wolfson Microelectronics WM97xx series chips in both polled and
> > streaming modes.

> I integrated this patch with our 2.6.24 kernel and it broke our APM-based
> battery monitor, which uses an ADC channel on the 9712. Support for this

The expectation of this driver is that the battery monitor driver will
register as the "wm97xx-battery" device and use the wm97xx_read_aux_adc()
function exported by the wm97xx-core driver to access the ADC. Is your
driver using this interface?

> multi-function chip series seems to be in a few places; would it make
> sense to have one generic WM97xx driver in drivers/mfd and stack the
> codec, touchscreen, etc, drivers logically above (in their respective
> areas)?

The intention is that these drivers should be able to coexist with the
existing ASoC drivers as-is. We do have existing users doing this - the
first publicly available example that springs to mind is tosa which
also uses the wm9712 with touchscreen and battery, together with the
ASoC driver for audio (the ASoC bits of this have been merged since ASoC
was merged in 2006, the other bits are out of tree partly due to the
fact that they depend on this driver).

> In my experience with the Wolfson series a change to the sound
> driver breaks touchscreen, a change to the touchscreen driver changes ADC
> readings, etc,

I'm disappointed to hear that, particularly with the wm9712 since that
especially has had a reasonable degree of testing with our drivers over
a fairly long time period.

> so I wanted to open dialog on what the right direction may
> be as various Wolfson code starts making its way into the mainline.

The most obvious way forward if we can't resolve these problems with the
existing scheme is to pull out the core driver as you say above - this
is the approach already taken by the touch drivers to allow battery
monitoring while the touchscreen is in use.

Is your kernel (or the wm9712-related code at least) publicly available?
If not would it be possible for you to share it with me off-list? It
might help me understand what's going on here.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/