diff options
Diffstat (limited to 'drivers/input/misc/ad714x.h')
| -rw-r--r-- | drivers/input/misc/ad714x.h | 35 | 
1 files changed, 32 insertions, 3 deletions
diff --git a/drivers/input/misc/ad714x.h b/drivers/input/misc/ad714x.h index 45c54fb13f0..3c85455aa66 100644 --- a/drivers/input/misc/ad714x.h +++ b/drivers/input/misc/ad714x.h @@ -1,7 +1,7 @@  /*   * AD714X CapTouch Programmable Controller driver (bus interfaces)   * - * Copyright 2009 Analog Devices Inc. + * Copyright 2009-2011 Analog Devices Inc.   *   * Licensed under the GPL-2 or later.   */ @@ -11,11 +11,40 @@  #include <linux/types.h> +#define STAGE_NUM              12 +  struct device; +struct ad714x_platform_data; +struct ad714x_driver_data;  struct ad714x_chip; -typedef int (*ad714x_read_t)(struct device *, unsigned short, unsigned short *); -typedef int (*ad714x_write_t)(struct device *, unsigned short, unsigned short); +typedef int (*ad714x_read_t)(struct ad714x_chip *, unsigned short, unsigned short *, size_t); +typedef int (*ad714x_write_t)(struct ad714x_chip *, unsigned short, unsigned short); + +struct ad714x_chip { +	unsigned short l_state; +	unsigned short h_state; +	unsigned short c_state; +	unsigned short adc_reg[STAGE_NUM]; +	unsigned short amb_reg[STAGE_NUM]; +	unsigned short sensor_val[STAGE_NUM]; + +	struct ad714x_platform_data *hw; +	struct ad714x_driver_data *sw; + +	int irq; +	struct device *dev; +	ad714x_read_t read; +	ad714x_write_t write; + +	struct mutex mutex; + +	unsigned product; +	unsigned version; + +	__be16 xfer_buf[16] ____cacheline_aligned; + +};  int ad714x_disable(struct ad714x_chip *ad714x);  int ad714x_enable(struct ad714x_chip *ad714x);  | 
