diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2011-08-22 12:45:42 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-08-22 12:59:26 -0400 |
commit | 9eff794b777ac9ca034129a1b637204000c8fb29 (patch) | |
tree | 5f833d94eb3b3a084e5083b89bdc8728447f1665 /drivers/input/misc/ad714x.h | |
parent | c0409feb86893f5ccf73964c7b2b47ca64bdb014 (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.h | 6 |
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; | |||
18 | struct ad714x_driver_data; | 18 | struct ad714x_driver_data; |
19 | struct ad714x_chip; | 19 | struct ad714x_chip; |
20 | 20 | ||
21 | typedef int (*ad714x_read_t)(struct ad714x_chip *, unsigned short, unsigned short *); | 21 | typedef int (*ad714x_read_t)(struct ad714x_chip *, unsigned short, unsigned short *, size_t); |
22 | typedef int (*ad714x_write_t)(struct ad714x_chip *, unsigned short, unsigned short); | 22 | typedef int (*ad714x_write_t)(struct ad714x_chip *, unsigned short, unsigned short); |
23 | 23 | ||
24 | struct ad714x_chip { | 24 | struct 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]; |