/linux-6.6.21/drivers/input/serio/ |
D | serio.c | 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 43 mutex_lock(&serio->drv_mutex); in serio_connect_driver() 44 retval = drv->connect(serio, drv); in serio_connect_driver() 45 mutex_unlock(&serio->drv_mutex); in serio_connect_driver() 50 static int serio_reconnect_driver(struct serio *serio) in serio_reconnect_driver() argument 54 mutex_lock(&serio->drv_mutex); in serio_reconnect_driver() [all …]
|
D | ps2mult.c | 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() 88 dev_dbg(&serio->dev, in ps2mult_serio_write() 101 static int ps2mult_serio_start(struct serio *serio) in ps2mult_serio_start() argument 103 struct ps2mult *psm = serio_get_drvdata(serio->parent); in ps2mult_serio_start() [all …]
|
D | ams_delta_serio.c | 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() 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 94 struct ams_delta_serio *priv = serio->port_data; in ams_delta_serio_open() 100 static void ams_delta_serio_close(struct serio *serio) in ams_delta_serio_close() argument 102 struct ams_delta_serio *priv = serio->port_data; in ams_delta_serio_close() [all …]
|
D | i8042.c | 154 struct serio *serio; member 179 struct serio *serio); 194 struct serio *serio)) in i8042_install_filter() argument 215 struct serio *port)) in i8042_remove_filter() 366 static int i8042_kbd_write(struct serio *port, unsigned char c) in i8042_kbd_write() 387 static int i8042_aux_write(struct serio *serio, unsigned char c) in i8042_aux_write() argument 389 struct i8042_port *port = serio->port_data; in i8042_aux_write() 402 static void i8042_port_close(struct serio *serio) in i8042_port_close() argument 408 if (serio == i8042_ports[I8042_AUX_PORT_NO].serio) { in i8042_port_close() 441 static int i8042_start(struct serio *serio) in i8042_start() argument [all …]
|
D | rpckbd.c | 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() 100 struct serio *serio; in rpckbd_probe() local 111 serio = kzalloc(sizeof(struct serio), GFP_KERNEL); in rpckbd_probe() 113 if (!serio || !rpckbd) { in rpckbd_probe() 115 kfree(serio); in rpckbd_probe() 122 serio->id.type = SERIO_8042; in rpckbd_probe() 123 serio->write = rpckbd_write; in rpckbd_probe() [all …]
|
D | serport.c | 34 struct serio *serio; member 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() 63 static void serport_serio_close(struct serio *serio) in serport_serio_close() argument 65 struct serport *serport = serio->port_data; in serport_serio_close() 147 serio_interrupt(serport->serio, cp[i], ch_flags); in serport_ldisc_receive() 165 struct serio *serio; in serport_ldisc_read() local 170 serport->serio = serio = kzalloc(sizeof(struct serio), GFP_KERNEL); in serport_ldisc_read() [all …]
|
D | serio_raw.c | 34 struct serio *serio; member 106 serio_pause_rx(serio_raw->serio); in serio_raw_open() 108 serio_continue_rx(serio_raw->serio); in serio_raw_open() 120 put_device(&serio_raw->serio->dev); in serio_raw_free() 129 serio_pause_rx(serio_raw->serio); in serio_raw_release() 131 serio_continue_rx(serio_raw->serio); in serio_raw_release() 144 serio_pause_rx(serio_raw->serio); in serio_raw_fetch_byte() 152 serio_continue_rx(serio_raw->serio); in serio_raw_fetch_byte() 224 if (serio_write(serio_raw->serio, c)) { in serio_raw_write() 270 static irqreturn_t serio_raw_interrupt(struct serio *serio, unsigned char data, in serio_raw_interrupt() argument [all …]
|
D | altera_ps2.c | 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(struct 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() 109 serio->open = altera_ps2_open; in altera_ps2_probe() [all …]
|
D | maceps2.c | 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(struct serio), GFP_KERNEL); in maceps2_allocate_port() 121 if (serio) { in maceps2_allocate_port() 122 serio->id.type = SERIO_8042; in maceps2_allocate_port() [all …]
|
/linux-6.6.21/include/linux/ |
D | serio.h | 20 struct serio { struct 34 int (*write)(struct serio *, unsigned char); argument 35 int (*open)(struct serio *); argument 36 void (*close)(struct serio *); argument 37 int (*start)(struct serio *); argument 38 void (*stop)(struct serio *); argument 40 struct serio *parent; argument 65 #define to_serio_port(d) container_of(d, struct serio, dev) argument 73 void (*write_wakeup)(struct serio *); 74 irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int); [all …]
|
/linux-6.6.21/drivers/input/rmi4/ |
D | rmi_f03.c | 31 struct serio *serio; member 62 struct serio *serio = f03->serio; in rmi_f03_commit_buttons() local 64 serio_pause_rx(serio); in rmi_f03_commit_buttons() 65 if (serio->drv) { in rmi_f03_commit_buttons() 66 serio->drv->interrupt(serio, PSMOUSE_OOB_EXTRA_BTNS, in rmi_f03_commit_buttons() 68 serio->drv->interrupt(serio, f03->overwrite_buttons, in rmi_f03_commit_buttons() 71 serio_continue_rx(serio); 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-6.6.21/drivers/input/touchscreen/ |
D | tsc40.c | 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() 110 serio_set_drvdata(serio, ptsc); in tsc_connect() [all …]
|
D | gunze.c | 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() 94 static int gunze_connect(struct serio *serio, struct serio_driver *drv) in gunze_connect() argument 107 gunze->serio = serio; in gunze_connect() 109 snprintf(gunze->phys, sizeof(serio->phys), "%s/input0", serio->phys); in gunze_connect() [all …]
|
D | dynapro.c | 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() 107 static int dynapro_connect(struct serio *serio, struct serio_driver *drv) in dynapro_connect() argument 120 pdynapro->serio = serio; in dynapro_connect() [all …]
|
D | egalax_ts_serial.c | 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() 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() 128 serio_set_drvdata(serio, egalax); in egalax_connect() 130 error = serio_open(serio, drv); in egalax_connect() [all …]
|
D | hampshire.c | 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() 106 static int hampshire_connect(struct serio *serio, struct serio_driver *drv) in hampshire_connect() argument 119 phampshire->serio = serio; in hampshire_connect() [all …]
|
D | touchit213.c | 75 struct serio *serio; member 82 static irqreturn_t touchit213_interrupt(struct serio *serio, in touchit213_interrupt() argument 85 struct touchit213 *touchit213 = serio_get_drvdata(serio); in touchit213_interrupt() 118 static void touchit213_disconnect(struct serio *serio) in touchit213_disconnect() argument 120 struct touchit213 *touchit213 = serio_get_drvdata(serio); in touchit213_disconnect() 124 serio_close(serio); in touchit213_disconnect() 125 serio_set_drvdata(serio, NULL); in touchit213_disconnect() 136 static int touchit213_connect(struct serio *serio, struct serio_driver *drv) in touchit213_connect() argument 149 touchit213->serio = serio; in touchit213_connect() 152 "%s/input0", serio->phys); in touchit213_connect() [all …]
|
D | touchright.c | 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() 99 static int tr_connect(struct serio *serio, struct serio_driver *drv) in tr_connect() argument 112 tr->serio = serio; in tr_connect() 114 snprintf(tr->phys, sizeof(tr->phys), "%s/input0", serio->phys); in tr_connect() [all …]
|
D | touchwin.c | 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() 106 static int tw_connect(struct serio *serio, struct serio_driver *drv) in tw_connect() argument 119 tw->serio = serio; in tw_connect() 121 snprintf(tw->phys, sizeof(tw->phys), "%s/input0", serio->phys); in tw_connect() [all …]
|
D | fujitsu_ts.c | 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() 96 static int fujitsu_connect(struct serio *serio, struct serio_driver *drv) in fujitsu_connect() argument 109 fujitsu->serio = serio; in fujitsu_connect() 112 "%s/input0", serio->phys); in fujitsu_connect() [all …]
|
D | inexio.c | 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() 111 static int inexio_connect(struct serio *serio, struct serio_driver *drv) in inexio_connect() argument 124 pinexio->serio = serio; in inexio_connect() 126 snprintf(pinexio->phys, sizeof(pinexio->phys), "%s/input0", serio->phys); in inexio_connect() [all …]
|
/linux-6.6.21/drivers/input/keyboard/ |
D | xtkbd.c | 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() 112 fail3: serio_close(serio); in xtkbd_connect() [all …]
|
D | sunkbd.c | 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() 207 serio_write(sunkbd->serio, SUNKBD_CMD_SETLED); in sunkbd_set_leds_beeps() [all …]
|
D | newtonkbd.c | 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() 99 err = serio_open(serio, drv); in nkbd_connect() [all …]
|
/linux-6.6.21/drivers/input/joystick/iforce/ |
D | iforce-serio.c | 15 struct serio *serio; member 49 serio_write(iforce_serio->serio, 0x2b); in iforce_serio_xmit() 51 serio_write(iforce_serio->serio, iforce->xmit.buf[iforce->xmit.tail]); in iforce_serio_xmit() 56 serio_write(iforce_serio->serio, in iforce_serio_xmit() 62 serio_write(iforce_serio->serio, cs); in iforce_serio_xmit() 120 static void iforce_serio_write_wakeup(struct serio *serio) in iforce_serio_write_wakeup() argument 122 struct iforce *iforce = serio_get_drvdata(serio); in iforce_serio_write_wakeup() 127 static irqreturn_t iforce_serio_irq(struct serio *serio, in iforce_serio_irq() argument 130 struct iforce_serio *iforce_serio = serio_get_drvdata(serio); in iforce_serio_irq() 189 static int iforce_serio_connect(struct serio *serio, struct serio_driver *drv) in iforce_serio_connect() argument [all …]
|