From 8a65c02f1dfda13ac2172f88f90f087330db82de Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Thu, 26 Jun 2008 09:56:27 -0400 Subject: Input: wm9712 - no pressure measurement with 5-wire mode The hardware does not support pressure measurement is 5-wire mode so warn the user if he tries to request it. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov --- drivers/input/touchscreen/wm9712.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'drivers/input/touchscreen/wm9712.c') diff --git a/drivers/input/touchscreen/wm9712.c b/drivers/input/touchscreen/wm9712.c index 0b6e4cfa6a2..4c5d85a249a 100644 --- a/drivers/input/touchscreen/wm9712.c +++ b/drivers/input/touchscreen/wm9712.c @@ -168,6 +168,18 @@ static void wm9712_phy_init(struct wm97xx *wm) 64000 / rpu); } + /* WM9712 five wire */ + if (five_wire) { + dig2 |= WM9712_45W; + dev_dbg(wm->dev, "setting 5-wire touchscreen mode."); + + if (pil) { + dev_warn(wm->dev, "pressure measurement is not " + "supported in 5-wire mode\n"); + pil = 0; + } + } + /* touchpanel pressure current*/ if (pil == 2) { dig2 |= WM9712_PIL; @@ -179,12 +191,6 @@ static void wm9712_phy_init(struct wm97xx *wm) if (!pil) pressure = 0; - /* WM9712 five wire */ - if (five_wire) { - dig2 |= WM9712_45W; - dev_dbg(wm->dev, "setting 5-wire touchscreen mode."); - } - /* polling mode sample settling delay */ if (delay < 0 || delay > 15) { dev_dbg(wm->dev, "supplied delay out of range."); -- cgit