]> err.no Git - linux-2.6/blobdiff - drivers/hid/usbhid/usbkbd.c
Merge commit 'origin/master'
[linux-2.6] / drivers / hid / usbhid / usbkbd.c
index b76b02f7b52de04a11e17d2a17e0e80b850d9922..3cd46d2e53c1851828b31df4fc85da846381b3b5 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id: usbkbd.c,v 1.27 2001/12/27 10:37:41 vojtech Exp $
- *
  *  Copyright (c) 1999-2001 Vojtech Pavlik
  *
  *  USB HIDBP Keyboard support
@@ -235,6 +233,14 @@ static int usb_kbd_probe(struct usb_interface *iface,
        if (!usb_endpoint_is_int_in(endpoint))
                return -ENODEV;
 
+#ifdef CONFIG_USB_HID
+       if (usbhid_lookup_quirk(le16_to_cpu(dev->descriptor.idVendor),
+                               le16_to_cpu(dev->descriptor.idProduct))
+                       & HID_QUIRK_IGNORE) {
+               return -ENODEV;
+       }
+#endif
+
        pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);
        maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));
 
@@ -274,8 +280,11 @@ static int usb_kbd_probe(struct usb_interface *iface,
 
        input_set_drvdata(input_dev, kbd);
 
-       input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP);
-       input_dev->ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL) | BIT(LED_COMPOSE) | BIT(LED_KANA);
+       input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_LED) |
+               BIT_MASK(EV_REP);
+       input_dev->ledbit[0] = BIT_MASK(LED_NUML) | BIT_MASK(LED_CAPSL) |
+               BIT_MASK(LED_SCROLLL) | BIT_MASK(LED_COMPOSE) |
+               BIT_MASK(LED_KANA);
 
        for (i = 0; i < 255; i++)
                set_bit(usb_kbd_keycode[i], input_dev->keybit);