Lines Matching defs:q40kbd
30 #define DRV_NAME "q40kbd"
37 struct q40kbd {
44 struct q40kbd *q40kbd = dev_id;
47 spin_lock_irqsave(&q40kbd->lock, flags);
50 serio_interrupt(q40kbd->port, master_inb(KEYCODE_REG), 0);
54 spin_unlock_irqrestore(&q40kbd->lock, flags);
63 static void q40kbd_flush(struct q40kbd *q40kbd)
68 spin_lock_irqsave(&q40kbd->lock, flags);
73 spin_unlock_irqrestore(&q40kbd->lock, flags);
89 struct q40kbd *q40kbd = port->port_data;
91 q40kbd_flush(q40kbd);
102 struct q40kbd *q40kbd = port->port_data;
105 q40kbd_flush(q40kbd);
110 struct q40kbd *q40kbd;
114 q40kbd = kzalloc(sizeof(struct q40kbd), GFP_KERNEL);
116 if (!q40kbd || !port) {
121 q40kbd->port = port;
122 spin_lock_init(&q40kbd->lock);
127 port->port_data = q40kbd;
135 DRV_NAME, q40kbd);
141 serio_register_port(q40kbd->port);
143 platform_set_drvdata(pdev, q40kbd);
150 kfree(q40kbd);
156 struct q40kbd *q40kbd = platform_get_drvdata(pdev);
163 serio_unregister_port(q40kbd->port);
164 free_irq(Q40_IRQ_KEYBOARD, q40kbd);
165 kfree(q40kbd);
172 .name = "q40kbd",