Lines Matching defs:serio

22 #include <linux/serio.h>
328 struct serio *serio = to_serio_port(dev);
329 struct atkbd *atkbd = serio_get_drvdata(serio);
409 static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,
412 struct atkbd *atkbd = serio_get_drvdata(serio);
419 dev_dbg(&serio->dev, "Received %02x flags %02x\n", data, flags);
423 dev_warn(&serio->dev, "Frame/parity error: %02x\n", flags);
424 serio_write(serio, ATKBD_CMD_RESEND);
441 pm_wakeup_event(&serio->dev, 0);
465 serio_reconnect(atkbd->ps2dev.serio);
479 dev_warn(&serio->dev,
482 data == ATKBD_RET_ACK ? "ACK" : "NAK", serio->phys);
486 dev_dbg(&serio->dev, "Keyboard on %s reports too many keys pressed.\n",
487 serio->phys);
506 dev_warn(&serio->dev,
510 atkbd->set, code, serio->phys);
511 dev_warn(&serio->dev,
709 serio_pause_rx(atkbd->ps2dev.serio);
711 serio_continue_rx(atkbd->ps2dev.serio);
721 serio_pause_rx(atkbd->ps2dev.serio);
723 serio_continue_rx(atkbd->ps2dev.serio);
735 dev_err(&ps2dev->serio->dev,
737 ps2dev->serio->phys);
754 dev_err(&ps2dev->serio->dev,
756 ps2dev->serio->phys);
798 * atkbd_probe() probes for an AT keyboard on a serio port.
814 dev_warn(&ps2dev->serio->dev,
816 ps2dev->serio->phys);
851 dev_err(&ps2dev->serio->dev,
963 static void atkbd_cleanup(struct serio *serio)
965 struct atkbd *atkbd = serio_get_drvdata(serio);
976 static void atkbd_disconnect(struct serio *serio)
978 struct atkbd *atkbd = serio_get_drvdata(serio);
980 sysfs_remove_group(&serio->dev.kobj, &atkbd_attribute_group);
990 * accessing freed input device or serio port.
994 serio_close(serio);
995 serio_set_drvdata(serio, NULL);
1083 struct device *dev = &atkbd->ps2dev.serio->dev;
1121 struct device *dev = &atkbd->ps2dev.serio->dev;
1189 "%s/input0", atkbd->ps2dev.serio->phys);
1198 input_dev->dev.parent = &atkbd->ps2dev.serio->dev;
1244 static void atkbd_parse_fwnode_data(struct serio *serio)
1246 struct atkbd *atkbd = serio_get_drvdata(serio);
1247 struct device *dev = &serio->dev;
1261 * atkbd_connect() is called when the serio module finds an interface
1267 static int atkbd_connect(struct serio *serio, struct serio_driver *drv)
1279 ps2_init(&atkbd->ps2dev, serio);
1283 switch (serio->id.type) {
1290 if (serio->write)
1302 serio_set_drvdata(serio, atkbd);
1304 err = serio_open(serio, drv);
1323 atkbd_parse_fwnode_data(serio);
1328 err = sysfs_create_group(&serio->dev.kobj, &atkbd_attribute_group);
1333 if (serio->write)
1342 fail4: sysfs_remove_group(&serio->dev.kobj, &atkbd_attribute_group);
1343 fail3: serio_close(serio);
1344 fail2: serio_set_drvdata(serio, NULL);
1355 static int atkbd_reconnect(struct serio *serio)
1357 struct atkbd *atkbd = serio_get_drvdata(serio);
1358 struct serio_driver *drv = serio->drv;
1362 dev_dbg(&serio->dev,
1363 "reconnect request, but serio is disconnected, ignoring...\n");
1431 MODULE_DEVICE_TABLE(serio, atkbd_serio_ids);
1449 struct serio *serio = to_serio_port(dev);
1450 struct atkbd *atkbd = serio_get_drvdata(serio);
1458 struct serio *serio = to_serio_port(dev);
1459 struct atkbd *atkbd = serio_get_drvdata(serio);