/* * The input core * * Copyright (c) 1999-2002 Vojtech Pavlik *//* * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published by * the Free Software Foundation. */#include <linux/init.h>#include <linux/input.h>#include <linux/module.h>#include <linux/random.h>#include <linux/major.h>#include <linux/proc_fs.h>#include <linux/seq_file.h>#include <linux/poll.h>#include <linux/device.h>#include <linux/mutex.h>#include <linux/rcupdate.h>MODULE_AUTHOR("Vojtech Pavlik <vojtech@suse.cz>");MODULE_DESCRIPTION("Input core");MODULE_LICENSE("GPL");#define INPUT_DEVICES 256staticLIST_HEAD(input_dev_list);staticLIST_HEAD(input_handler_list);/* * input_mutex protects access to both input_dev_list and input_handler_list. * This also causes input_[un]register_device and input_[un]register_handler * be mutually exclusive which simplifies locking in drivers implementing * input handlers. */staticDEFINE_MUTEX(input_mutex);static struct input_handler *input_table[8];static