#include <linux/module.h>
#include <linux/init.h>
#include <linux/input.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/keyboard.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/of.h>
#include <asm/irq.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/serio.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#define IPROC_TS_NAME …
#define PEN_DOWN_STATUS …
#define PEN_UP_STATUS …
#define X_MIN …
#define Y_MIN …
#define X_MAX …
#define Y_MAX …
#define INVALID_COORD …
#define REGCTL1 …
#define REGCTL2 …
#define INTERRUPT_THRES …
#define INTERRUPT_MASK …
#define INTERRUPT_STATUS …
#define CONTROLLER_STATUS …
#define FIFO_DATA …
#define FIFO_DATA_X_Y_MASK …
#define ANALOG_CONTROL …
#define AUX_DATA …
#define DEBOUNCE_CNTR_STAT …
#define SCAN_CNTR_STAT …
#define REM_CNTR_STAT …
#define SETTLING_TIMER_STAT …
#define SPARE_REG …
#define SOFT_BYPASS_CONTROL …
#define SOFT_BYPASS_DATA …
#define TS_PEN_INTR_MASK …
#define TS_FIFO_INTR_MASK …
#define TS_PEN_DOWN …
#define SCANNING_PERIOD_SHIFT …
#define DEBOUNCE_TIMEOUT_SHIFT …
#define SETTLING_TIMEOUT_SHIFT …
#define TOUCH_TIMEOUT_SHIFT …
#define X_COORD_SHIFT …
#define Y_COORD_SHIFT …
#define TS_CONTROLLER_EN_BIT …
#define TS_CONTROLLER_AVGDATA_SHIFT …
#define TS_CONTROLLER_AVGDATA_MASK …
#define TS_CONTROLLER_PWR_LDO …
#define TS_CONTROLLER_PWR_ADC …
#define TS_CONTROLLER_PWR_BGP …
#define TS_CONTROLLER_PWR_TS …
#define TS_WIRE_MODE_BIT …
#define dbg_reg(dev, priv, reg) …
struct tsc_param { … };
struct iproc_ts_priv { … };
static const struct tsc_param iproc_default_config = …;
static void ts_reg_dump(struct iproc_ts_priv *priv)
{ … }
static irqreturn_t iproc_touchscreen_interrupt(int irq, void *data)
{ … }
static int iproc_ts_start(struct input_dev *idev)
{ … }
static void iproc_ts_stop(struct input_dev *dev)
{ … }
static int iproc_get_tsc_config(struct device *dev, struct iproc_ts_priv *priv)
{ … }
static int iproc_ts_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id iproc_ts_of_match[] = …;
MODULE_DEVICE_TABLE(of, iproc_ts_of_match);
static struct platform_driver iproc_ts_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;