#include <linux/input.h>
#include <linux/jiffies.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/workqueue.h>
#include "../leds.h"
static unsigned long led_off_delay_ms = …;
module_param(led_off_delay_ms, ulong, 0644);
MODULE_PARM_DESC(…) …;
static struct input_events_data { … } input_events_data;
static struct led_trigger *input_events_led_trigger;
static void led_input_events_work(struct work_struct *work)
{ … }
static void input_events_event(struct input_handle *handle, unsigned int type,
unsigned int code, int val)
{ … }
static int input_events_connect(struct input_handler *handler, struct input_dev *dev,
const struct input_device_id *id)
{ … }
static void input_events_disconnect(struct input_handle *handle)
{ … }
static const struct input_device_id input_events_ids[] = …;
static struct input_handler input_events_handler = …;
static int __init input_events_init(void)
{ … }
static void __exit input_events_exit(void)
{ … }
module_init(…) …;
module_exit(input_events_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;