Lines Matching defs:q40kbd
27 #define DRV_NAME "q40kbd"
34 struct q40kbd {
41 struct q40kbd *q40kbd = dev_id;
44 spin_lock_irqsave(&q40kbd->lock, flags);
47 serio_interrupt(q40kbd->port, master_inb(KEYCODE_REG), 0);
51 spin_unlock_irqrestore(&q40kbd->lock, flags);
60 static void q40kbd_flush(struct q40kbd *q40kbd)
65 spin_lock_irqsave(&q40kbd->lock, flags);
70 spin_unlock_irqrestore(&q40kbd->lock, flags);
86 struct q40kbd *q40kbd = port->port_data;
88 q40kbd_flush(q40kbd);
99 struct q40kbd *q40kbd = port->port_data;
102 q40kbd_flush(q40kbd);
107 struct q40kbd *q40kbd;
111 q40kbd = kzalloc(sizeof(struct q40kbd), GFP_KERNEL);
113 if (!q40kbd || !port) {
118 q40kbd->port = port;
119 spin_lock_init(&q40kbd->lock);
124 port->port_data = q40kbd;
132 DRV_NAME, q40kbd);
138 serio_register_port(q40kbd->port);
140 platform_set_drvdata(pdev, q40kbd);
147 kfree(q40kbd);
153 struct q40kbd *q40kbd = platform_get_drvdata(pdev);
160 serio_unregister_port(q40kbd->port);
161 free_irq(Q40_IRQ_KEYBOARD, q40kbd);
162 kfree(q40kbd);
169 .name = "q40kbd",