Lines Matching refs:serio
49 struct serio *serio; member
64 static int ps2_gpio_open(struct serio *serio) in ps2_gpio_open() argument
66 struct ps2_gpio_data *drvdata = serio->port_data; in ps2_gpio_open()
72 static void ps2_gpio_close(struct serio *serio) in ps2_gpio_close() argument
74 struct ps2_gpio_data *drvdata = serio->port_data; in ps2_gpio_close()
80 static int __ps2_gpio_write(struct serio *serio, unsigned char val) in __ps2_gpio_write() argument
82 struct ps2_gpio_data *drvdata = serio->port_data; in __ps2_gpio_write()
95 static int ps2_gpio_write(struct serio *serio, unsigned char val) in ps2_gpio_write() argument
97 struct ps2_gpio_data *drvdata = serio->port_data; in ps2_gpio_write()
102 __ps2_gpio_write(serio, val); in ps2_gpio_write()
108 __ps2_gpio_write(serio, val); in ps2_gpio_write()
198 serio_interrupt(drvdata->serio, byte, rxflags); in ps2_gpio_irq_rx()
221 __ps2_gpio_write(drvdata->serio, PS2_CMD_RESEND); in ps2_gpio_irq_rx()
308 __ps2_gpio_write(drvdata->serio, drvdata->tx_byte); in ps2_gpio_irq_tx()
348 struct serio *serio; in ps2_gpio_probe() local
353 serio = kzalloc(sizeof(struct serio), GFP_KERNEL); in ps2_gpio_probe()
354 if (!drvdata || !serio) { in ps2_gpio_probe()
387 serio->id.type = SERIO_8042; in ps2_gpio_probe()
388 serio->open = ps2_gpio_open; in ps2_gpio_probe()
389 serio->close = ps2_gpio_close; in ps2_gpio_probe()
393 serio->write = drvdata->write_enable ? ps2_gpio_write : NULL; in ps2_gpio_probe()
394 serio->port_data = drvdata; in ps2_gpio_probe()
395 serio->dev.parent = dev; in ps2_gpio_probe()
396 strlcpy(serio->name, dev_name(dev), sizeof(serio->name)); in ps2_gpio_probe()
397 strlcpy(serio->phys, dev_name(dev), sizeof(serio->phys)); in ps2_gpio_probe()
399 drvdata->serio = serio; in ps2_gpio_probe()
412 serio_register_port(serio); in ps2_gpio_probe()
418 kfree(serio); in ps2_gpio_probe()
426 serio_unregister_port(drvdata->serio); in ps2_gpio_remove()