diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-06-16 11:17:50 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-06-16 11:17:50 +0200 | 
| commit | 1791a78c0b10fe548bf08a2ed7f84a4ea1385430 (patch) | |
| tree | 3bc3e71a900a364aaaaf28d553ce44e5dc27092b /drivers/input/touchscreen/wm9713.c | |
| parent | bf07dc864902b3e788de5ab50dc62d5677da90f2 (diff) | |
| parent | 066519068ad2fbe98c7f45552b1f592903a9c8c8 (diff) | |
Merge branch 'linus' into x86/cleanupstip-x86-cleanups-2008-06-16_09.17_Mon
Diffstat (limited to 'drivers/input/touchscreen/wm9713.c')
| -rw-r--r-- | drivers/input/touchscreen/wm9713.c | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/drivers/input/touchscreen/wm9713.c b/drivers/input/touchscreen/wm9713.c index 01278bd7e65c..838458792ea0 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; | 
