Lines Matching refs:serio
52 struct serio *serio; member
67 static int ps2_gpio_open(struct serio *serio) in ps2_gpio_open() argument
69 struct ps2_gpio_data *drvdata = serio->port_data; in ps2_gpio_open()
75 static void ps2_gpio_close(struct serio *serio) in ps2_gpio_close() argument
77 struct ps2_gpio_data *drvdata = serio->port_data; in ps2_gpio_close()
82 static int __ps2_gpio_write(struct serio *serio, unsigned char val) in __ps2_gpio_write() argument
84 struct ps2_gpio_data *drvdata = serio->port_data; in __ps2_gpio_write()
97 static int ps2_gpio_write(struct serio *serio, unsigned char val) in ps2_gpio_write() argument
99 struct ps2_gpio_data *drvdata = serio->port_data; in ps2_gpio_write()
104 __ps2_gpio_write(serio, val); in ps2_gpio_write()
110 __ps2_gpio_write(serio, val); in ps2_gpio_write()
200 serio_interrupt(drvdata->serio, byte, rxflags); in ps2_gpio_irq_rx()
223 __ps2_gpio_write(drvdata->serio, PS2_CMD_RESEND); in ps2_gpio_irq_rx()
310 __ps2_gpio_write(drvdata->serio, drvdata->tx_byte); in ps2_gpio_irq_tx()
350 struct serio *serio; in ps2_gpio_probe() local
355 serio = kzalloc(sizeof(struct serio), GFP_KERNEL); in ps2_gpio_probe()
356 if (!drvdata || !serio) { in ps2_gpio_probe()
391 serio->id.type = SERIO_8042; in ps2_gpio_probe()
392 serio->open = ps2_gpio_open; in ps2_gpio_probe()
393 serio->close = ps2_gpio_close; in ps2_gpio_probe()
397 serio->write = drvdata->write_enable ? ps2_gpio_write : NULL; in ps2_gpio_probe()
398 serio->port_data = drvdata; in ps2_gpio_probe()
399 serio->dev.parent = dev; in ps2_gpio_probe()
400 strlcpy(serio->name, dev_name(dev), sizeof(serio->name)); in ps2_gpio_probe()
401 strlcpy(serio->phys, dev_name(dev), sizeof(serio->phys)); in ps2_gpio_probe()
403 drvdata->serio = serio; in ps2_gpio_probe()
416 serio_register_port(serio); in ps2_gpio_probe()
422 kfree(serio); in ps2_gpio_probe()
430 serio_unregister_port(drvdata->serio); in ps2_gpio_remove()