Lines Matching refs:serio
62 struct serio *serio; member
78 static irqreturn_t sunkbd_interrupt(struct serio *serio, in sunkbd_interrupt() argument
81 struct sunkbd *sunkbd = serio_get_drvdata(serio); in sunkbd_interrupt()
146 serio_write(sunkbd->serio, SUNKBD_CMD_SETLED); in sunkbd_event()
147 serio_write(sunkbd->serio, in sunkbd_event()
159 serio_write(sunkbd->serio, SUNKBD_CMD_NOCLICK - value); in sunkbd_event()
163 serio_write(sunkbd->serio, SUNKBD_CMD_BELLOFF - value); in sunkbd_event()
181 serio_write(sunkbd->serio, SUNKBD_CMD_RESET); in sunkbd_initialize()
190 serio_write(sunkbd->serio, SUNKBD_CMD_LAYOUT); in sunkbd_initialize()
213 serio_write(sunkbd->serio, SUNKBD_CMD_SETLED); in sunkbd_reinit()
214 serio_write(sunkbd->serio, in sunkbd_reinit()
219 serio_write(sunkbd->serio, in sunkbd_reinit()
221 serio_write(sunkbd->serio, in sunkbd_reinit()
227 serio_pause_rx(sunkbd->serio); in sunkbd_enable()
229 serio_continue_rx(sunkbd->serio); in sunkbd_enable()
237 static int sunkbd_connect(struct serio *serio, struct serio_driver *drv) in sunkbd_connect() argument
249 sunkbd->serio = serio; in sunkbd_connect()
253 snprintf(sunkbd->phys, sizeof(sunkbd->phys), "%s/input0", serio->phys); in sunkbd_connect()
255 serio_set_drvdata(serio, sunkbd); in sunkbd_connect()
257 err = serio_open(serio, drv); in sunkbd_connect()
276 input_dev->dev.parent = &serio->dev; in sunkbd_connect()
304 fail3: serio_close(serio); in sunkbd_connect()
305 fail2: serio_set_drvdata(serio, NULL); in sunkbd_connect()
315 static void sunkbd_disconnect(struct serio *serio) in sunkbd_disconnect() argument
317 struct sunkbd *sunkbd = serio_get_drvdata(serio); in sunkbd_disconnect()
321 serio_close(serio); in sunkbd_disconnect()
322 serio_set_drvdata(serio, NULL); in sunkbd_disconnect()
342 MODULE_DEVICE_TABLE(serio, sunkbd_serio_ids);