root/drivers/input/misc/ad714x.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  * AD714X CapTouch Programmable Controller driver (bus interfaces)
   4  *
   5  * Copyright 2009-2011 Analog Devices Inc.
   6  */
   7 
   8 #ifndef _AD714X_H_
   9 #define _AD714X_H_
  10 
  11 #include <linux/types.h>
  12 
  13 #define STAGE_NUM              12
  14 
  15 struct device;
  16 struct ad714x_platform_data;
  17 struct ad714x_driver_data;
  18 struct ad714x_chip;
  19 
  20 typedef int (*ad714x_read_t)(struct ad714x_chip *, unsigned short, unsigned short *, size_t);
  21 typedef int (*ad714x_write_t)(struct ad714x_chip *, unsigned short, unsigned short);
  22 
  23 struct ad714x_chip {
  24         unsigned short l_state;
  25         unsigned short h_state;
  26         unsigned short c_state;
  27         unsigned short adc_reg[STAGE_NUM];
  28         unsigned short amb_reg[STAGE_NUM];
  29         unsigned short sensor_val[STAGE_NUM];
  30 
  31         struct ad714x_platform_data *hw;
  32         struct ad714x_driver_data *sw;
  33 
  34         int irq;
  35         struct device *dev;
  36         ad714x_read_t read;
  37         ad714x_write_t write;
  38 
  39         struct mutex mutex;
  40 
  41         unsigned product;
  42         unsigned version;
  43 
  44         __be16 xfer_buf[16] ____cacheline_aligned;
  45 
  46 };
  47 
  48 int ad714x_disable(struct ad714x_chip *ad714x);
  49 int ad714x_enable(struct ad714x_chip *ad714x);
  50 struct ad714x_chip *ad714x_probe(struct device *dev, u16 bus_type, int irq,
  51                                  ad714x_read_t read, ad714x_write_t write);
  52 
  53 #endif

/* [<][>][^][v][top][bottom][index][help] */