Home
last modified time | relevance | path

Searched full:serio (Results 1 – 25 of 151) sorted by relevance

1234567

/linux/drivers/input/serio/
H A Dserio.c3 * The Serio abstraction module
14 #include <linux/serio.h>
22 MODULE_DESCRIPTION("Serio abstraction core");
26 * serio_mutex protects entire serio subsystem and is taken every time
27 * serio port or driver registered or unregistered.
33 static void serio_add_port(struct serio *serio);
34 static int serio_reconnect_port(struct serio *serio);
35 static void serio_disconnect_port(struct serio *serio);
36 static void serio_reconnect_subtree(struct serio *serio);
39 static int serio_connect_driver(struct serio *serio, struct serio_driver *drv) in serio_connect_driver() argument
[all …]
H A Dps2mult.c12 #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 Dams_delta_serio.c24 #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 Drpckbd.c13 #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 Dserport.c18 #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 Di8042.c17 #include <linux/serio.h>
158 struct serio *serio; member
183 struct serio *serio);
198 struct serio *serio)) in i8042_install_filter() argument
211 struct serio *port)) in i8042_remove_filter()
343 static int i8042_kbd_write(struct serio *port, unsigned char c) in i8042_kbd_write()
363 static int i8042_aux_write(struct serio *serio, unsigned char c) in i8042_aux_write() argument
365 struct i8042_port *port = serio->port_data; in i8042_aux_write()
378 static void i8042_port_close(struct serio *serio) in i8042_port_close() argument
384 if (serio == i8042_ports[I8042_AUX_PORT_NO].serio) { in i8042_port_close()
[all …]
H A Dserio_raw.c3 * Raw serio device providing access to a raw byte stream from underlying
4 * 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 Dsun4i-ps2.c10 #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 …]
/linux/include/linux/
H A Dserio.h17 #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/rmi4/
H A Drmi_f03.c9 #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 Dgunze.c15 #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 Degalax_ts_serial.c18 #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 Ddynapro.c21 #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 Dtsc40.c13 #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 Dtouchright.c18 #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 Dhampshire.c20 #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 Dtouchwin.c25 #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 Dinexio.c20 #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 Dfujitsu_ts.c14 #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 Dmtouch.c19 #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 Diforce-serio.c9 #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 Dnewtonkbd.c13 #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 Dsunkbd.c16 #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 Dxtkbd.c13 #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 Dstowaway.c16 #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 …]

1234567