• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/hid/usbhid/

Lines Matching defs:kbd

83 	struct usb_kbd *kbd = urb->context;
99 input_report_key(kbd->dev, usb_kbd_keycode[i + 224], (kbd->new[0] >> i) & 1);
103 if (kbd->old[i] > 3 && memscan(kbd->new + 2, kbd->old[i], 6) == kbd->new + 8) {
104 if (usb_kbd_keycode[kbd->old[i]])
105 input_report_key(kbd->dev, usb_kbd_keycode[kbd->old[i]], 0);
108 "Unknown key (scancode %#x) released.\n", kbd->old[i]);
111 if (kbd->new[i] > 3 && memscan(kbd->old + 2, kbd->new[i], 6) == kbd->old + 8) {
112 if (usb_kbd_keycode[kbd->new[i]])
113 input_report_key(kbd->dev, usb_kbd_keycode[kbd->new[i]], 1);
116 "Unknown key (scancode %#x) released.\n", kbd->new[i]);
120 input_sync(kbd->dev);
122 memcpy(kbd->old, kbd->new, 8);
128 kbd->usbdev->bus->bus_name,
129 kbd->usbdev->devpath, i);
135 struct usb_kbd *kbd = input_get_drvdata(dev);
140 kbd->newleds = (!!test_bit(LED_KANA, dev->led) << 3) | (!!test_bit(LED_COMPOSE, dev->led) << 3) |
144 if (kbd->led->status == -EINPROGRESS)
147 if (*(kbd->leds) == kbd->newleds)
150 *(kbd->leds) = kbd->newleds;
151 kbd->led->dev = kbd->usbdev;
152 if (usb_submit_urb(kbd->led, GFP_ATOMIC))
160 struct usb_kbd *kbd = urb->context;
166 if (*(kbd->leds) == kbd->newleds)
169 *(kbd->leds) = kbd->newleds;
170 kbd->led->dev = kbd->usbdev;
171 if (usb_submit_urb(kbd->led, GFP_ATOMIC))
177 struct usb_kbd *kbd = input_get_drvdata(dev);
179 kbd->irq->dev = kbd->usbdev;
180 if (usb_submit_urb(kbd->irq, GFP_KERNEL))
188 struct usb_kbd *kbd = input_get_drvdata(dev);
190 usb_kill_urb(kbd->irq);
193 static int usb_kbd_alloc_mem(struct usb_device *dev, struct usb_kbd *kbd)
195 if (!(kbd->irq = usb_alloc_urb(0, GFP_KERNEL)))
197 if (!(kbd->led = usb_alloc_urb(0, GFP_KERNEL)))
199 if (!(kbd->new = usb_alloc_coherent(dev, 8, GFP_ATOMIC, &kbd->new_dma)))
201 if (!(kbd->cr = kmalloc(sizeof(struct usb_ctrlrequest), GFP_KERNEL)))
203 if (!(kbd->leds = usb_alloc_coherent(dev, 1, GFP_ATOMIC, &kbd->leds_dma)))
209 static void usb_kbd_free_mem(struct usb_device *dev, struct usb_kbd *kbd)
211 usb_free_urb(kbd->irq);
212 usb_free_urb(kbd->led);
213 usb_free_coherent(dev, 8, kbd->new, kbd->new_dma);
214 kfree(kbd->cr);
215 usb_free_coherent(dev, 1, kbd->leds, kbd->leds_dma);
224 struct usb_kbd *kbd;
241 kbd = kzalloc(sizeof(struct usb_kbd), GFP_KERNEL);
243 if (!kbd || !input_dev)
246 if (usb_kbd_alloc_mem(dev, kbd))
249 kbd->usbdev = dev;
250 kbd->dev = input_dev;
253 strlcpy(kbd->name, dev->manufacturer, sizeof(kbd->name));
257 strlcat(kbd->name, " ", sizeof(kbd->name));
258 strlcat(kbd->name, dev->product, sizeof(kbd->name));
261 if (!strlen(kbd->name))
262 snprintf(kbd->name, sizeof(kbd->name),
267 usb_make_path(dev, kbd->phys, sizeof(kbd->phys));
268 strlcat(kbd->phys, "/input0", sizeof(kbd->phys));
270 input_dev->name = kbd->name;
271 input_dev->phys = kbd->phys;
275 input_set_drvdata(input_dev, kbd);
291 usb_fill_int_urb(kbd->irq, dev, pipe,
292 kbd->new, (maxp > 8 ? 8 : maxp),
293 usb_kbd_irq, kbd, endpoint->bInterval);
294 kbd->irq->transfer_dma = kbd->new_dma;
295 kbd->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
297 kbd->cr->bRequestType = USB_TYPE_CLASS | USB_RECIP_INTERFACE;
298 kbd->cr->bRequest = 0x09;
299 kbd->cr->wValue = cpu_to_le16(0x200);
300 kbd->cr->wIndex = cpu_to_le16(interface->desc.bInterfaceNumber);
301 kbd->cr->wLength = cpu_to_le16(1);
303 usb_fill_control_urb(kbd->led, dev, usb_sndctrlpipe(dev, 0),
304 (void *) kbd->cr, kbd->leds, 1,
305 usb_kbd_led, kbd);
306 kbd->led->transfer_dma = kbd->leds_dma;
307 kbd->led->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
309 error = input_register_device(kbd->dev);
313 usb_set_intfdata(iface, kbd);
318 usb_kbd_free_mem(dev, kbd);
321 kfree(kbd);
327 struct usb_kbd *kbd = usb_get_intfdata (intf);
330 if (kbd) {
331 usb_kill_urb(kbd->irq);
332 input_unregister_device(kbd->dev);
333 usb_kbd_free_mem(interface_to_usbdev(intf), kbd);
334 kfree(kbd);