#include <linux/delay.h>
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/input/touchscreen.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/property.h>
#include <linux/gpio/consumer.h>
#include <linux/regulator/consumer.h>
#include "cyttsp_core.h"
#define CY_NUM_BL_KEYS …
#define GET_NUM_TOUCHES(x) …
#define IS_LARGE_AREA(x) …
#define IS_BAD_PKT(x) …
#define IS_VALID_APP(x) …
#define IS_OPERATIONAL_ERR(x) …
#define GET_HSTMODE(reg) …
#define GET_BOOTLOADERMODE(reg) …
#define CY_REG_BASE …
#define CY_REG_ACT_DIST …
#define CY_REG_ACT_INTRVL …
#define CY_REG_TCH_TMOUT …
#define CY_REG_LP_INTRVL …
#define CY_MAXZ …
#define CY_DELAY_DFLT …
#define CY_DELAY_MAX …
#define CY_ACT_DIST_DFLT …
#define CY_ACT_DIST_MASK …
#define CY_ACT_INTRVL_DFLT …
#define CY_LP_INTRVL_DFLT …
#define CY_TCH_TMOUT_DFLT …
#define CY_HNDSHK_BIT …
#define CY_OPERATE_MODE …
#define CY_SYSINFO_MODE …
#define CY_SOFT_RESET_MODE …
#define CY_DEEP_SLEEP_MODE …
#define CY_LOW_POWER_MODE …
#define CY_MAX_FINGER …
#define CY_MAX_ID …
static const u8 bl_command[] = …;
static int ttsp_read_block_data(struct cyttsp *ts, u8 command,
u8 length, void *buf)
{ … }
static int ttsp_write_block_data(struct cyttsp *ts, u8 command,
u8 length, void *buf)
{ … }
static int ttsp_send_command(struct cyttsp *ts, u8 cmd)
{ … }
static int cyttsp_handshake(struct cyttsp *ts)
{ … }
static int cyttsp_load_bl_regs(struct cyttsp *ts)
{ … }
static int cyttsp_exit_bl_mode(struct cyttsp *ts)
{ … }
static int cyttsp_set_operational_mode(struct cyttsp *ts)
{ … }
static int cyttsp_set_sysinfo_mode(struct cyttsp *ts)
{ … }
static int cyttsp_set_sysinfo_regs(struct cyttsp *ts)
{ … }
static void cyttsp_hard_reset(struct cyttsp *ts)
{ … }
static int cyttsp_soft_reset(struct cyttsp *ts)
{ … }
static int cyttsp_act_dist_setup(struct cyttsp *ts)
{ … }
static void cyttsp_extract_track_ids(struct cyttsp_xydata *xy_data, int *ids)
{ … }
static const struct cyttsp_tch *cyttsp_get_tch(struct cyttsp_xydata *xy_data,
int idx)
{ … }
static void cyttsp_report_tchdata(struct cyttsp *ts)
{ … }
static irqreturn_t cyttsp_irq(int irq, void *handle)
{ … }
static int cyttsp_power_on(struct cyttsp *ts)
{ … }
static int cyttsp_enable(struct cyttsp *ts)
{ … }
static int cyttsp_disable(struct cyttsp *ts)
{ … }
static int cyttsp_suspend(struct device *dev)
{ … }
static int cyttsp_resume(struct device *dev)
{ … }
EXPORT_GPL_SIMPLE_DEV_PM_OPS(…);
static int cyttsp_open(struct input_dev *dev)
{ … }
static void cyttsp_close(struct input_dev *dev)
{ … }
static int cyttsp_parse_properties(struct cyttsp *ts)
{ … }
struct cyttsp *cyttsp_probe(const struct cyttsp_bus_ops *bus_ops,
struct device *dev, int irq, size_t xfer_buf_size)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;