Lines Matching refs:kbd
95 static void dc_scan_kbd(struct dc_kbd *kbd) in dc_scan_kbd() argument
97 struct input_dev *dev = kbd->dev; in dc_scan_kbd()
104 keycode = kbd->keycode[code]; in dc_scan_kbd()
106 input_report_key(dev, keycode, (kbd->new[0] >> i) & 1); in dc_scan_kbd()
110 ptr = memchr(kbd->new + 2, kbd->old[i], 6); in dc_scan_kbd()
111 code = kbd->old[i]; in dc_scan_kbd()
113 keycode = kbd->keycode[code]; in dc_scan_kbd()
122 ptr = memchr(kbd->old + 2, kbd->new[i], 6); in dc_scan_kbd()
123 code = kbd->new[i]; in dc_scan_kbd()
125 keycode = kbd->keycode[code]; in dc_scan_kbd()
136 memcpy(kbd->old, kbd->new, 8); in dc_scan_kbd()
142 struct dc_kbd *kbd = maple_get_drvdata(mapledev); in dc_kbd_callback() local
152 memcpy(kbd->new, buf + 2, 8); in dc_kbd_callback()
153 dc_scan_kbd(kbd); in dc_kbd_callback()
165 struct dc_kbd *kbd; in probe_maple_kbd() local
171 kbd = kzalloc(sizeof(struct dc_kbd), GFP_KERNEL); in probe_maple_kbd()
172 if (!kbd) { in probe_maple_kbd()
183 kbd->dev = idev; in probe_maple_kbd()
184 memcpy(kbd->keycode, dc_kbd_keycode, sizeof(kbd->keycode)); in probe_maple_kbd()
188 idev->keycode = kbd->keycode; in probe_maple_kbd()
190 idev->keycodemax = ARRAY_SIZE(kbd->keycode); in probe_maple_kbd()
199 input_set_drvdata(idev, kbd); in probe_maple_kbd()
211 maple_set_drvdata(mdev, kbd); in probe_maple_kbd()
219 kfree(kbd); in probe_maple_kbd()
227 struct dc_kbd *kbd = maple_get_drvdata(mdev); in remove_maple_kbd() local
231 input_unregister_device(kbd->dev); in remove_maple_kbd()
232 kfree(kbd); in remove_maple_kbd()