#include <linux/platform_device.h>
#include <linux/mfd/mc13783.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/input.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/init.h>
#define MC13783_TS_NAME …
#define DEFAULT_SAMPLE_TOLERANCE …
static unsigned int sample_tolerance = …;
module_param(sample_tolerance, uint, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(…) …;
struct mc13783_ts_priv { … };
static irqreturn_t mc13783_ts_handler(int irq, void *data)
{ … }
#define sort3(a0, a1, a2) …
static void mc13783_ts_report_sample(struct mc13783_ts_priv *priv)
{ … }
static void mc13783_ts_work(struct work_struct *work)
{ … }
static int mc13783_ts_open(struct input_dev *dev)
{ … }
static void mc13783_ts_close(struct input_dev *dev)
{ … }
static int __init mc13783_ts_probe(struct platform_device *pdev)
{ … }
static void mc13783_ts_remove(struct platform_device *pdev)
{ … }
static struct platform_driver mc13783_ts_driver = …;
module_platform_driver_probe(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;