aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/misc/ad714x.h
diff options
context:
space:
mode:
authorMichael Hennerich <michael.hennerich@analog.com>2011-08-22 12:45:42 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-08-22 12:59:26 -0400
commit9eff794b777ac9ca034129a1b637204000c8fb29 (patch)
tree5f833d94eb3b3a084e5083b89bdc8728447f1665 /drivers/input/misc/ad714x.h
parentc0409feb86893f5ccf73964c7b2b47ca64bdb014 (diff)
Input: ad714x - read the interrupt status registers in a row
The interrupt status registers should be read in row to avoid invalid data. Alter "read" method for both bus options to allow reading several registers in a row and make sure we read interrupt status registers properly. Read sequence saves 50% of bus transactions compared to single register reads. So use it also for the result registers, which are also located in a row. Also update copyright notice. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/misc/ad714x.h')
-rw-r--r--drivers/input/misc/ad714x.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/input/misc/ad714x.h b/drivers/input/misc/ad714x.h
index d12d14911fc3..3c85455aa66d 100644
--- a/drivers/input/misc/ad714x.h
+++ b/drivers/input/misc/ad714x.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * AD714X CapTouch Programmable Controller driver (bus interfaces) 2 * AD714X CapTouch Programmable Controller driver (bus interfaces)
3 * 3 *
4 * Copyright 2009 Analog Devices Inc. 4 * Copyright 2009-2011 Analog Devices Inc.
5 * 5 *
6 * Licensed under the GPL-2 or later. 6 * Licensed under the GPL-2 or later.
7 */ 7 */
@@ -18,12 +18,12 @@ struct ad714x_platform_data;
18struct ad714x_driver_data; 18struct ad714x_driver_data;
19struct ad714x_chip; 19struct ad714x_chip;
20 20
21typedef int (*ad714x_read_t)(struct ad714x_chip *, unsigned short, unsigned short *); 21typedef int (*ad714x_read_t)(struct ad714x_chip *, unsigned short, unsigned short *, size_t);
22typedef int (*ad714x_write_t)(struct ad714x_chip *, unsigned short, unsigned short); 22typedef int (*ad714x_write_t)(struct ad714x_chip *, unsigned short, unsigned short);
23 23
24struct ad714x_chip { 24struct ad714x_chip {
25 unsigned short h_state;
26 unsigned short l_state; 25 unsigned short l_state;
26 unsigned short h_state;
27 unsigned short c_state; 27 unsigned short c_state;
28 unsigned short adc_reg[STAGE_NUM]; 28 unsigned short adc_reg[STAGE_NUM];
29 unsigned short amb_reg[STAGE_NUM]; 29 unsigned short amb_reg[STAGE_NUM];