Searched +defs:serio +path:serio +path:. +path:h (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/include/linux/ |
H A D | serio.h | 19 #include <uapi/linux/serio.h> 21 struct serio { struct 34 int (*write)(struct serio *, unsigned char); 35 int (*open)(struct serio *); 36 void (*close)(struct serio *); 37 int (*start)(struct serio *); 38 void (*stop)(struct serio *); 40 struct serio *parent; 43 unsigned int depth; /* level of nesting in serio hierarchy */ 45 struct serio_driver *drv; /* accessed from interrupt, must be protected by serio->lock and serio->sem */ 46 struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */ 52 #define to_serio_port(d) container_of(d, struct serio, dev) 60 void (*write_wakeup)(struct serio *); 61 irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int); 62 int (*connect)(struct serio *, struct serio_driver *drv); 63 int (*reconnect)(struct serio *); 64 void (*disconnect)(struct serio *); 65 void (*cleanup)(struct serio *); 71 int serio_open(struct serio *serio, struct serio_driver *drv); 72 void serio_close(struct serio *serio); 73 void serio_rescan(struct serio *serio); 74 void serio_reconnect(struct serio *serio); 75 irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags); 77 void __serio_register_port(struct serio *serio, struct module *owner); 80 #define serio_register_port(serio) \ 81 __serio_register_port(serio, THIS_MODULE) 83 void serio_unregister_port(struct serio *serio); 84 void serio_unregister_child_port(struct serio *serio); 96 * module_serio_driver() - Helper macro for registering a serio driver 99 * Helper macro for serio drivers which do not do anything special in 108 static inline int serio_write(struct serio *serio, unsigned char data) serio_write() argument 110 if (serio->write) serio_write() 111 return serio->write(serio, data); serio_write() 116 static inline void serio_drv_write_wakeup(struct serio *serio) serio_drv_write_wakeup() argument 118 if (serio->drv && serio->drv->write_wakeup) serio_drv_write_wakeup() 119 serio->drv->write_wakeup(serio); serio_drv_write_wakeup() 123 * Use the following functions to manipulate serio's per-port 126 static inline void *serio_get_drvdata(struct serio *serio) serio_get_drvdata() argument 128 return dev_get_drvdata(&serio->dev); serio_get_drvdata() 131 static inline void serio_set_drvdata(struct serio *serio, void *data) serio_set_drvdata() argument 133 dev_set_drvdata(&serio->dev, data); serio_set_drvdata() 140 static inline void serio_pause_rx(struct serio *serio) serio_pause_rx() argument 142 spin_lock_irq(&serio->lock); serio_pause_rx() 145 static inline void serio_continue_rx(struct serio *serio) serio_continue_rx() argument 147 spin_unlock_irq(&serio->lock); serio_continue_rx()
|
Completed in 145 milliseconds