diff options
| author | Thierry Reding <thierry.reding@avionic-design.de> | 2011-05-17 09:32:02 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-05-17 09:38:49 -0700 | 
| commit | 1af38eac8cdb70dbad3086b4f1bf7296eb1b09b1 (patch) | |
| tree | 74a251236e74d963592da41cde26b60fe33b6f0a | |
| parent | 2d137c7ed25f9754f52495af570897ad993e4fe7 (diff) | |
| download | olio-linux-3.10-1af38eac8cdb70dbad3086b4f1bf7296eb1b09b1.tar.xz olio-linux-3.10-1af38eac8cdb70dbad3086b4f1bf7296eb1b09b1.zip  | |
Input: tsc2007 - add poll_period parameter to platform data
This new parameter allows the polling frequency to be configured while
keeping the default of once every millisecond.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| -rw-r--r-- | drivers/input/touchscreen/tsc2007.c | 6 | ||||
| -rw-r--r-- | include/linux/i2c/tsc2007.h | 1 | 
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/input/touchscreen/tsc2007.c b/drivers/input/touchscreen/tsc2007.c index faa82ddb014..87c40c79f71 100644 --- a/drivers/input/touchscreen/tsc2007.c +++ b/drivers/input/touchscreen/tsc2007.c @@ -27,8 +27,6 @@  #include <linux/i2c.h>  #include <linux/i2c/tsc2007.h> -#define TS_POLL_PERIOD			1 /* ms delay between samples */ -  #define TSC2007_MEASURE_TEMP0		(0x0 << 4)  #define TSC2007_MEASURE_AUX		(0x2 << 4)  #define TSC2007_MEASURE_TEMP1		(0x4 << 4) @@ -76,6 +74,7 @@ struct tsc2007 {  	u16			x_plate_ohms;  	u16			max_rt;  	unsigned long		poll_delay; +	unsigned long		poll_period;  	bool			pendown;  	int			irq; @@ -230,7 +229,7 @@ static void tsc2007_work(struct work_struct *work)   out:  	if (ts->pendown || debounced)  		schedule_delayed_work(&ts->work, -				      msecs_to_jiffies(TS_POLL_PERIOD)); +				      msecs_to_jiffies(ts->poll_period));  	else  		enable_irq(ts->irq);  } @@ -297,6 +296,7 @@ static int __devinit tsc2007_probe(struct i2c_client *client,  	ts->x_plate_ohms      = pdata->x_plate_ohms;  	ts->max_rt            = pdata->max_rt ? : MAX_12BIT;  	ts->poll_delay        = pdata->poll_delay ? : 1; +	ts->poll_period       = pdata->poll_period ? : 1;  	ts->get_pendown_state = pdata->get_pendown_state;  	ts->clear_penirq      = pdata->clear_penirq; diff --git a/include/linux/i2c/tsc2007.h b/include/linux/i2c/tsc2007.h index 342b130a0a9..a51dac081ac 100644 --- a/include/linux/i2c/tsc2007.h +++ b/include/linux/i2c/tsc2007.h @@ -9,6 +9,7 @@ struct tsc2007_platform_data {  	u16	max_rt; /* max. resistance above which samples are ignored */  	unsigned long poll_delay; /* delay (in ms) after pen-down event  				     before polling starts */ +	unsigned long poll_period; /* time (in ms) between samples */  	int	(*get_pendown_state)(void);  	void	(*clear_penirq)(void);		/* If needed, clear 2nd level  |