Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull more input updates from Dmitry Torokhov: "Two new drivers for touchscreen controllers: - Silead touchscreen controllers - SiS 9200 family touchscreen controllers and a few driver fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: silead - remove some dead code Input: sis-i2c - select CONFIG_CRC_ITU_T Input: add driver for SiS 9200 family I2C touchscreen controllers Input: ili210x - fix permissions on "calibrate" attribute Input: elan_i2c - properly wake up touchpad on ASUS laptops Input: add driver for Silead touchscreens Input: elantech - fix debug dump of the current packet Input: rotary_encoder - support binary encoding of states Input: xpad - power off wireless 360 controllers on suspend Input: i8042 - break load dependency between atkbd/psmouse and i8042 Input: synaptics-rmi4 - do not check for NULL when calling of_node_put() Input: cros_ec_keyb - cleanup use of dev
This commit is contained in:
@@ -62,7 +62,6 @@ struct serio;
|
||||
void i8042_lock_chip(void);
|
||||
void i8042_unlock_chip(void);
|
||||
int i8042_command(unsigned char *param, int command);
|
||||
bool i8042_check_port_owner(const struct serio *);
|
||||
int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str,
|
||||
struct serio *serio));
|
||||
int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str,
|
||||
@@ -83,11 +82,6 @@ static inline int i8042_command(unsigned char *param, int command)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
static inline bool i8042_check_port_owner(const struct serio *serio)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str,
|
||||
struct serio *serio))
|
||||
{
|
||||
|
||||
@@ -31,7 +31,8 @@ struct serio {
|
||||
|
||||
struct serio_device_id id;
|
||||
|
||||
spinlock_t lock; /* protects critical sections from port's interrupt handler */
|
||||
/* Protects critical sections from port's interrupt handler */
|
||||
spinlock_t lock;
|
||||
|
||||
int (*write)(struct serio *, unsigned char);
|
||||
int (*open)(struct serio *);
|
||||
@@ -40,16 +41,29 @@ struct serio {
|
||||
void (*stop)(struct serio *);
|
||||
|
||||
struct serio *parent;
|
||||
struct list_head child_node; /* Entry in parent->children list */
|
||||
/* Entry in parent->children list */
|
||||
struct list_head child_node;
|
||||
struct list_head children;
|
||||
unsigned int depth; /* level of nesting in serio hierarchy */
|
||||
/* Level of nesting in serio hierarchy */
|
||||
unsigned int depth;
|
||||
|
||||
struct serio_driver *drv; /* accessed from interrupt, must be protected by serio->lock and serio->sem */
|
||||
struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */
|
||||
/*
|
||||
* serio->drv is accessed from interrupt handlers; when modifying
|
||||
* caller should acquire serio->drv_mutex and serio->lock.
|
||||
*/
|
||||
struct serio_driver *drv;
|
||||
/* Protects serio->drv so attributes can pin current driver */
|
||||
struct mutex drv_mutex;
|
||||
|
||||
struct device dev;
|
||||
|
||||
struct list_head node;
|
||||
|
||||
/*
|
||||
* For use by PS/2 layer when several ports share hardware and
|
||||
* may get indigestion when exposed to concurrent access (i8042).
|
||||
*/
|
||||
struct mutex *ps2_cmd_mutex;
|
||||
};
|
||||
#define to_serio_port(d) container_of(d, struct serio, dev)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user