Lines Matching full:serio

24 #include <linux/serio.h>
28 #define DRIVER_NAME "ams-delta-serio"
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()
75 * and then pass it on the serio in ams_delta_serio_interrupt()
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()
111 struct serio *serio; in ams_delta_serio_init() local
153 serio = kzalloc(sizeof(*serio), GFP_KERNEL); in ams_delta_serio_init()
154 if (!serio) in ams_delta_serio_init()
157 priv->serio = serio; in ams_delta_serio_init()
159 serio->id.type = SERIO_8042; in ams_delta_serio_init()
160 serio->open = ams_delta_serio_open; in ams_delta_serio_init()
161 serio->close = ams_delta_serio_close; in ams_delta_serio_init()
162 strscpy(serio->name, "AMS DELTA keyboard adapter", sizeof(serio->name)); in ams_delta_serio_init()
163 strscpy(serio->phys, dev_name(&pdev->dev), sizeof(serio->phys)); in ams_delta_serio_init()
164 serio->dev.parent = &pdev->dev; in ams_delta_serio_init()
165 serio->port_data = priv; in ams_delta_serio_init()
167 serio_register_port(serio); in ams_delta_serio_init()
171 dev_info(&serio->dev, "%s\n", serio->name); in ams_delta_serio_init()
180 serio_unregister_port(priv->serio); in ams_delta_serio_exit()