| /linux/include/linux/ | 
| H A D | serio.h | 17 #include <uapi/linux/serio.h>21 struct serio {  struct
 35 	int (*write)(struct serio *, unsigned char);  argument
 36 	int (*open)(struct serio *);  argument
 37 	void (*close)(struct serio *);  argument
 38 	int (*start)(struct serio *);  argument
 39 	void (*stop)(struct serio *);  argument
 41 	struct serio *parent;  argument
 45 	/* Level of nesting in serio hierarchy */  argument
 49 	 * serio->drv is accessed from interrupt handlers; when modifying  argument
 [all …]
 
 | 
| /linux/drivers/input/serio/ | 
| H A D | ps2mult.c | 12 #include <linux/serio.h>26 	struct serio *serio;  member
 36 	struct serio *mx_serio;
 62 MODULE_DEVICE_TABLE(serio, ps2mult_serio_ids);
 66 	struct serio *mx_serio = psm->mx_serio;  in ps2mult_select_port()
 73 static int ps2mult_serio_write(struct serio *serio, unsigned char data)  in ps2mult_serio_write()  argument
 75 	struct serio *mx_port = serio->parent;  in ps2mult_serio_write()
 77 	struct ps2mult_port *port = serio->port_data;  in ps2mult_serio_write()
 87 	dev_dbg(&serio->dev,  in ps2mult_serio_write()
 98 static int ps2mult_serio_start(struct serio *serio)  in ps2mult_serio_start()  argument
 [all …]
 
 | 
| H A D | ams_delta_serio.c | 24 #include <linux/serio.h>28 #define DRIVER_NAME	"ams-delta-serio"
 35 	struct serio *serio;  member
 40 static int check_data(struct serio *serio, int data)  in check_data()  argument
 46 		dev_warn(&serio->dev, "invalid stop bit, data=0x%X\n", data);  in check_data()
 56 		dev_warn(&serio->dev,  in check_data()
 75 	 * and then pass it on the serio  in ams_delta_serio_interrupt()
 85 		dfl = check_data(priv->serio, data);  in ams_delta_serio_interrupt()
 87 		serio_interrupt(priv->serio, scancode, dfl);  in ams_delta_serio_interrupt()
 92 static int ams_delta_serio_open(struct serio *serio)  in ams_delta_serio_open()  argument
 [all …]
 
 | 
| H A D | rpckbd.c | 13 #include <linux/serio.h>32 static int rpckbd_write(struct serio *port, unsigned char val)  in rpckbd_write()
 44 	struct serio *port = dev_id;  in rpckbd_rx()
 62 static int rpckbd_open(struct serio *port)  in rpckbd_open()
 85 static void rpckbd_close(struct serio *port)  in rpckbd_close()
 94  * Allocate and initialize serio structure for subsequent registration
 95  * with serio core.
 100 	struct serio *serio;  in rpckbd_probe()  local
 111 	serio = kzalloc(sizeof(*serio), GFP_KERNEL);  in rpckbd_probe()
 113 	if (!serio || !rpckbd) {  in rpckbd_probe()
 [all …]
 
 | 
| H A D | serport.c | 18 #include <linux/serio.h>34 	struct serio *serio;  member
 41  * Callback functions from the serio code.
 44 static int serport_serio_write(struct serio *serio, unsigned char data)  in serport_serio_write()  argument
 46 	struct serport *serport = serio->port_data;  in serport_serio_write()
 50 static int serport_serio_open(struct serio *serio)  in serport_serio_open()  argument
 52 	struct serport *serport = serio->port_data;  in serport_serio_open()
 61 static void serport_serio_close(struct serio *serio)  in serport_serio_close()  argument
 63 	struct serport *serport = serio->port_data;  in serport_serio_close()
 71  * discipline on a tty. It prepares the serio struct.
 [all …]
 
 | 
| H A D | serio_raw.c | 3  * Raw serio device providing access to a raw byte stream from underlying4  * serio port. Closely emulates behavior of pre-2.6 /dev/psaux device
 14 #include <linux/serio.h>
 21 #define DRIVER_DESC	"Raw serio driver"
 34 	struct serio *serio;  member
 96 		scoped_guard(serio_pause_rx, serio_raw->serio)  in serio_raw_open()
 110 	put_device(&serio_raw->serio->dev);  in serio_raw_free()
 119 	scoped_guard(serio_pause_rx, serio_raw->serio)  in serio_raw_release()
 131 	guard(serio_pause_rx)(serio_raw->serio);  in serio_raw_fetch_byte()
 202 			if (serio_write(serio_raw->serio, c)) {  in serio_raw_write()
 [all …]
 
 | 
| H A D | sun4i-ps2.c | 10 #include <linux/serio.h>81 	struct serio *serio;  member
 131 		serio_interrupt(drvdata->serio, byte, rxflags);  in sun4i_ps2_interrupt()
 140 static int sun4i_ps2_open(struct serio *serio)  in sun4i_ps2_open()  argument
 142 	struct sun4i_ps2data *drvdata = serio->port_data;  in sun4i_ps2_open()
 177 static void sun4i_ps2_close(struct serio *serio)  in sun4i_ps2_close()  argument
 179 	struct sun4i_ps2data *drvdata = serio->port_data;  in sun4i_ps2_close()
 189 static int sun4i_ps2_write(struct serio *serio, unsigned char val)  in sun4i_ps2_write()  argument
 192 	struct sun4i_ps2data *drvdata = serio->port_data;  in sun4i_ps2_write()
 208 	struct serio *serio;  in sun4i_ps2_probe()  local
 [all …]
 
 | 
| H A D | maceps2.c | 9 #include <linux/serio.h>52 static struct serio *maceps2_port[2];
 55 static int maceps2_write(struct serio *dev, unsigned char val)  in maceps2_write()
 73 	struct serio *dev = dev_id;  in maceps2_interrupt()
 85 static int maceps2_open(struct serio *dev)  in maceps2_open()
 106 static void maceps2_close(struct serio *dev)  in maceps2_close()
 116 static struct serio *maceps2_allocate_port(int idx)  in maceps2_allocate_port()
 118 	struct serio *serio;  in maceps2_allocate_port()  local
 120 	serio = kzalloc(sizeof(*serio), GFP_KERNEL);  in maceps2_allocate_port()
 121 	if (serio) {  in maceps2_allocate_port()
 [all …]
 
 | 
| H A D | altera_ps2.c | 13 #include <linux/serio.h>23 	struct serio *io;
 48 static int altera_ps2_write(struct serio *io, unsigned char val)  in altera_ps2_write()
 56 static int altera_ps2_open(struct serio *io)  in altera_ps2_open()
 68 static void altera_ps2_close(struct serio *io)  in altera_ps2_close()
 81 	struct serio *serio;  in altera_ps2_probe()  local
 103 	serio = kzalloc(sizeof(*serio), GFP_KERNEL);  in altera_ps2_probe()
 104 	if (!serio)  in altera_ps2_probe()
 107 	serio->id.type		= SERIO_8042;  in altera_ps2_probe()
 108 	serio->write		= altera_ps2_write;  in altera_ps2_probe()
 [all …]
 
 | 
| /linux/drivers/input/rmi4/ | 
| H A D | rmi_f03.c | 9 #include <linux/serio.h>31 	struct serio *serio;  member
 62 	struct serio *serio = f03->serio;  in rmi_f03_commit_buttons()  local
 64 	guard(serio_pause_rx)(serio);  in rmi_f03_commit_buttons()
 66 	if (serio->drv) {  in rmi_f03_commit_buttons()
 67 		serio->drv->interrupt(serio, PSMOUSE_OOB_EXTRA_BTNS,  in rmi_f03_commit_buttons()
 69 		serio->drv->interrupt(serio, f03->overwrite_buttons,  in rmi_f03_commit_buttons()
 74 static int rmi_f03_pt_write(struct serio *id, unsigned char val)  in rmi_f03_pt_write()
 139 static int rmi_f03_pt_open(struct serio *serio)  in rmi_f03_pt_open()  argument
 141 	struct f03_data *f03 = serio->port_data;  in rmi_f03_pt_open()
 [all …]
 
 | 
| /linux/drivers/input/touchscreen/ | 
| H A D | gunze.c | 15 #include <linux/serio.h>35 	struct serio *serio;  member
 57 static irqreturn_t gunze_interrupt(struct serio *serio,  in gunze_interrupt()  argument
 60 	struct gunze *gunze = serio_get_drvdata(serio);  in gunze_interrupt()
 76 static void gunze_disconnect(struct serio *serio)  in gunze_disconnect()  argument
 78 	struct gunze *gunze = serio_get_drvdata(serio);  in gunze_disconnect()
 82 	serio_close(serio);  in gunze_disconnect()
 83 	serio_set_drvdata(serio, NULL);  in gunze_disconnect()
 90  * new serio device that supports Gunze protocol and registers it as
 94 static int gunze_connect(struct serio *serio, struct serio_driver *drv)  in gunze_connect()  argument
 [all …]
 
 | 
| H A D | egalax_ts_serial.c | 18 #include <linux/serio.h>42 	struct serio *serio;  member
 68 static irqreturn_t egalax_interrupt(struct serio *serio,  in egalax_interrupt()  argument
 71 	struct egalax *egalax = serio_get_drvdata(serio);  in egalax_interrupt()
 83 		dev_dbg(&serio->dev, "unknown/unsynchronized data: %x\n",  in egalax_interrupt()
 93  * new serio device that supports egalax protocol and registers it as
 96 static int egalax_connect(struct serio *serio, struct serio_driver *drv)  in egalax_connect()  argument
 109 	egalax->serio = serio;  in egalax_connect()
 112 		 "%s/input0", serio->phys);  in egalax_connect()
 120 	input_dev->dev.parent = &serio->dev;  in egalax_connect()
 [all …]
 
 | 
| H A D | dynapro.c | 21 #include <linux/serio.h>52 	struct serio *serio;  member
 73 static irqreturn_t dynapro_interrupt(struct serio *serio,  in dynapro_interrupt()  argument
 76 	struct dynapro *pdynapro = serio_get_drvdata(serio);  in dynapro_interrupt()
 83 		dev_dbg(&serio->dev, "unknown/unsynchronized data: %x\n",  in dynapro_interrupt()
 89 static void dynapro_disconnect(struct serio *serio)  in dynapro_disconnect()  argument
 91 	struct dynapro *pdynapro = serio_get_drvdata(serio);  in dynapro_disconnect()
 95 	serio_close(serio);  in dynapro_disconnect()
 96 	serio_set_drvdata(serio, NULL);  in dynapro_disconnect()
 103  * new serio device that supports dynapro protocol and registers it as
 [all …]
 
 | 
| H A D | tsc40.c | 13 #include <linux/serio.h>18 	struct serio *serio;  member
 41 static irqreturn_t tsc_interrupt(struct serio *serio,  in tsc_interrupt()  argument
 44 	struct tsc_ser *ptsc = serio_get_drvdata(serio);  in tsc_interrupt()
 51 			dev_dbg(&serio->dev,  in tsc_interrupt()
 64 			dev_dbg(&serio->dev,  in tsc_interrupt()
 80 static int tsc_connect(struct serio *serio, struct serio_driver *drv)  in tsc_connect()  argument
 93 	ptsc->serio = serio;  in tsc_connect()
 95 	snprintf(ptsc->phys, sizeof(ptsc->phys), "%s/input0", serio->phys);  in tsc_connect()
 103 	input_dev->dev.parent = &serio->dev;  in tsc_connect()
 [all …]
 
 | 
| H A D | touchright.c | 18 #include <linux/serio.h>47 	struct serio *serio;  member
 53 static irqreturn_t tr_interrupt(struct serio *serio,  in tr_interrupt()  argument
 56 	struct tr *tr = serio_get_drvdata(serio);  in tr_interrupt()
 81 static void tr_disconnect(struct serio *serio)  in tr_disconnect()  argument
 83 	struct tr *tr = serio_get_drvdata(serio);  in tr_disconnect()
 87 	serio_close(serio);  in tr_disconnect()
 88 	serio_set_drvdata(serio, NULL);  in tr_disconnect()
 95  * new serio device that supports the Touchright protocol and registers it as
 99 static int tr_connect(struct serio *serio, struct serio_driver *drv)  in tr_connect()  argument
 [all …]
 
 | 
| H A D | hampshire.c | 20 #include <linux/serio.h>51 	struct serio *serio;  member
 72 static irqreturn_t hampshire_interrupt(struct serio *serio,  in hampshire_interrupt()  argument
 75 	struct hampshire *phampshire = serio_get_drvdata(serio);  in hampshire_interrupt()
 82 		dev_dbg(&serio->dev, "unknown/unsynchronized data: %x\n",  in hampshire_interrupt()
 88 static void hampshire_disconnect(struct serio *serio)  in hampshire_disconnect()  argument
 90 	struct hampshire *phampshire = serio_get_drvdata(serio);  in hampshire_disconnect()
 94 	serio_close(serio);  in hampshire_disconnect()
 95 	serio_set_drvdata(serio, NULL);  in hampshire_disconnect()
 102  * new serio device that supports hampshire protocol and registers it as
 [all …]
 
 | 
| H A D | touchwin.c | 25 #include <linux/serio.h>50 	struct serio *serio;  member
 57 static irqreturn_t tw_interrupt(struct serio *serio,  in tw_interrupt()  argument
 60 	struct tw *tw = serio_get_drvdata(serio);  in tw_interrupt()
 88 static void tw_disconnect(struct serio *serio)  in tw_disconnect()  argument
 90 	struct tw *tw = serio_get_drvdata(serio);  in tw_disconnect()
 94 	serio_close(serio);  in tw_disconnect()
 95 	serio_set_drvdata(serio, NULL);  in tw_disconnect()
 102  * new serio device that supports the Touchwin protocol and registers it as
 106 static int tw_connect(struct serio *serio, struct serio_driver *drv)  in tw_connect()  argument
 [all …]
 
 | 
| H A D | inexio.c | 20 #include <linux/serio.h>54 	struct serio *serio;  member
 74 static irqreturn_t inexio_interrupt(struct serio *serio,  in inexio_interrupt()  argument
 77 	struct inexio *pinexio = serio_get_drvdata(serio);  in inexio_interrupt()
 93 static void inexio_disconnect(struct serio *serio)  in inexio_disconnect()  argument
 95 	struct inexio *pinexio = serio_get_drvdata(serio);  in inexio_disconnect()
 99 	serio_close(serio);  in inexio_disconnect()
 100 	serio_set_drvdata(serio, NULL);  in inexio_disconnect()
 107  * new serio device that supports iNexio protocol and registers it as
 111 static int inexio_connect(struct serio *serio, struct serio_driver *drv)  in inexio_connect()  argument
 [all …]
 
 | 
| H A D | fujitsu_ts.c | 14 #include <linux/serio.h>29 	struct serio *serio;  member
 43 static irqreturn_t fujitsu_interrupt(struct serio *serio,  in fujitsu_interrupt()  argument
 46 	struct fujitsu *fujitsu = serio_get_drvdata(serio);  in fujitsu_interrupt()
 79 static void fujitsu_disconnect(struct serio *serio)  in fujitsu_disconnect()  argument
 81 	struct fujitsu *fujitsu = serio_get_drvdata(serio);  in fujitsu_disconnect()
 85 	serio_close(serio);  in fujitsu_disconnect()
 86 	serio_set_drvdata(serio, NULL);  in fujitsu_disconnect()
 93  * new serio device that supports the Fujitsu protocol and registers it
 96 static int fujitsu_connect(struct serio *serio, struct serio_driver *drv)  in fujitsu_connect()  argument
 [all …]
 
 | 
| H A D | mtouch.c | 19 #include <linux/serio.h>55 	struct serio *serio;  member
 86 static irqreturn_t mtouch_interrupt(struct serio *serio,  in mtouch_interrupt()  argument
 89 	struct mtouch *mtouch = serio_get_drvdata(serio);  in mtouch_interrupt()
 107 static void mtouch_disconnect(struct serio *serio)  in mtouch_disconnect()  argument
 109 	struct mtouch *mtouch = serio_get_drvdata(serio);  in mtouch_disconnect()
 113 	serio_close(serio);  in mtouch_disconnect()
 114 	serio_set_drvdata(serio, NULL);  in mtouch_disconnect()
 121  * new serio device that supports MicroTouch (Format Tablet) protocol and registers it as
 125 static int mtouch_connect(struct serio *serio, struct serio_driver *drv)  in mtouch_connect()  argument
 [all …]
 
 | 
| /linux/drivers/input/joystick/iforce/ | 
| H A D | iforce-serio.c | 9 #include <linux/serio.h>15 	struct serio *serio;  member
 45 		serio_write(iforce_serio->serio, 0x2b);  in iforce_serio_xmit()
 47 		serio_write(iforce_serio->serio,  in iforce_serio_xmit()
 53 			serio_write(iforce_serio->serio,  in iforce_serio_xmit()
 59 		serio_write(iforce_serio->serio, cs);  in iforce_serio_xmit()
 114 static void iforce_serio_write_wakeup(struct serio *serio)  in iforce_serio_write_wakeup()  argument
 116 	struct iforce *iforce = serio_get_drvdata(serio);  in iforce_serio_write_wakeup()
 121 static irqreturn_t iforce_serio_irq(struct serio *serio,  in iforce_serio_irq()  argument
 124 	struct iforce_serio *iforce_serio = serio_get_drvdata(serio);  in iforce_serio_irq()
 [all …]
 
 | 
| /linux/drivers/input/keyboard/ | 
| H A D | newtonkbd.c | 13 #include <linux/serio.h>43 	struct serio *serio;  member
 47 static irqreturn_t nkbd_interrupt(struct serio *serio,  in nkbd_interrupt()  argument
 50 	struct nkbd *nkbd = serio_get_drvdata(serio);  in nkbd_interrupt()
 59 		printk(KERN_INFO "input: %s on %s\n", nkbd->dev->name, serio->phys);  in nkbd_interrupt()
 64 static int nkbd_connect(struct serio *serio, struct serio_driver *drv)  in nkbd_connect()  argument
 76 	nkbd->serio = serio;  in nkbd_connect()
 78 	snprintf(nkbd->phys, sizeof(nkbd->phys), "%s/input0", serio->phys);  in nkbd_connect()
 87 	input_dev->dev.parent = &serio->dev;  in nkbd_connect()
 97 	serio_set_drvdata(serio, nkbd);  in nkbd_connect()
 [all …]
 
 | 
| H A D | sunkbd.c | 16 #include <linux/serio.h>59 	struct serio *serio;  member
 75 static irqreturn_t sunkbd_interrupt(struct serio *serio,  in sunkbd_interrupt()  argument
 78 	struct sunkbd *sunkbd = serio_get_drvdata(serio);  in sunkbd_interrupt()
 144 		serio_write(sunkbd->serio, SUNKBD_CMD_SETLED);  in sunkbd_event()
 145 		serio_write(sunkbd->serio,  in sunkbd_event()
 157 			serio_write(sunkbd->serio, SUNKBD_CMD_NOCLICK - value);  in sunkbd_event()
 161 			serio_write(sunkbd->serio, SUNKBD_CMD_BELLOFF - value);  in sunkbd_event()
 179 	serio_write(sunkbd->serio, SUNKBD_CMD_RESET);  in sunkbd_initialize()
 188 		serio_write(sunkbd->serio, SUNKBD_CMD_LAYOUT);  in sunkbd_initialize()
 [all …]
 
 | 
| H A D | xtkbd.c | 13 #include <linux/serio.h>40 	struct serio *serio;  member
 44 static irqreturn_t xtkbd_interrupt(struct serio *serio,  in xtkbd_interrupt()  argument
 47 	struct xtkbd *xtkbd = serio_get_drvdata(serio);  in xtkbd_interrupt()
 66 static int xtkbd_connect(struct serio *serio, struct serio_driver *drv)  in xtkbd_connect()  argument
 78 	xtkbd->serio = serio;  in xtkbd_connect()
 80 	snprintf(xtkbd->phys, sizeof(xtkbd->phys), "%s/input0", serio->phys);  in xtkbd_connect()
 89 	input_dev->dev.parent = &serio->dev;  in xtkbd_connect()
 100 	serio_set_drvdata(serio, xtkbd);  in xtkbd_connect()
 102 	err = serio_open(serio, drv);  in xtkbd_connect()
 [all …]
 
 | 
| H A D | stowaway.c | 16 #include <linux/serio.h>49 	struct serio *serio;  member
 53 static irqreturn_t skbd_interrupt(struct serio *serio, unsigned char data,  in skbd_interrupt()  argument
 56 	struct skbd *skbd = serio_get_drvdata(serio);  in skbd_interrupt()
 68 static int skbd_connect(struct serio *serio, struct serio_driver *drv)  in skbd_connect()  argument
 80 	skbd->serio = serio;  in skbd_connect()
 82 	snprintf(skbd->phys, sizeof(skbd->phys), "%s/input0", serio->phys);  in skbd_connect()
 91 	input_dev->dev.parent = &serio->dev;  in skbd_connect()
 101 	serio_set_drvdata(serio, skbd);  in skbd_connect()
 103 	err = serio_open(serio, drv);  in skbd_connect()
 [all …]
 
 |