#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/mfd/88pm860x.h>
#include <linux/slab.h>
#include <linux/device.h>
#define MEAS_LEN …
#define ACCURATE_BIT …
#define MEAS_EN3 …
#define MEAS_TSIX_1 …
#define MEAS_TSIX_2 …
#define MEAS_TSIY_1 …
#define MEAS_TSIY_2 …
#define MEAS_TSIZ1_1 …
#define MEAS_TSIZ1_2 …
#define MEAS_TSIZ2_1 …
#define MEAS_TSIZ2_2 …
#define MEAS_PD_EN …
#define MEAS_TSIX_EN …
#define MEAS_TSIY_EN …
#define MEAS_TSIZ1_EN …
#define MEAS_TSIZ2_EN …
struct pm860x_touch { … };
static irqreturn_t pm860x_touch_handler(int irq, void *data)
{ … }
static int pm860x_touch_open(struct input_dev *dev)
{ … }
static void pm860x_touch_close(struct input_dev *dev)
{ … }
#ifdef CONFIG_OF
static int pm860x_touch_dt_init(struct platform_device *pdev,
struct pm860x_chip *chip,
int *res_x)
{ … }
#else
#define pm860x_touch_dt_init …
#endif
static int pm860x_touch_probe(struct platform_device *pdev)
{ … }
static struct platform_driver pm860x_touch_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;