Messages in this thread Patch in this message | | | Date | Sun, 30 Jan 2005 21:27:39 -0800 | From | "David S. Miller" <> | Subject | recent 2.6.x USB HID input weirdness |
| |
On sparc64 I just started getting this in my kernel logs on 2.6.x-BK from hidinput_input_event:
warning: event field not found
I added some debugging:
hidinput_input_event: type[4] code [4] value[458759] hidinput_input_event: type[4] code [4] value[458761]
This is on a Sun Type-6 USB keyboard. It does this for every key I press. The keys work properly, just the warning is printed (which makes the console kind of hard to use :-)
I backed out the most recent change (included below) to that code and the messages went away.
# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/01/27 14:48:48+01:00 vojtech@silver.ucw.cz # input: Enable scancode event generation in the HID driver. This should allow # changing HID->event mappings (via EVIOCS*) in the future and make # debugging easier now. # # Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> # # drivers/usb/input/hid-input.c # 2005/01/27 14:48:37+01:00 vojtech@silver.ucw.cz +7 -3 # input: Enable scancode event generation in the HID driver. This should allow # changing HID->event mappings (via EVIOCS*) in the future. # diff -Nru a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c --- a/drivers/usb/input/hid-input.c 2005-01-30 20:56:15 -08:00 +++ b/drivers/usb/input/hid-input.c 2005-01-30 20:56:15 -08:00 @@ -403,11 +403,12 @@ if (!input) return; + input_regs(input, regs); + input_event(input, EV_MSC, MSC_SCAN, usage->hid); + if (!usage->type) return; - input_regs(input, regs); - if (((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_5) && (usage->hid == 0x00090005)) || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_7) && (usage->hid == 0x00090007))) { if (value) hid->quirks |= HID_QUIRK_2WHEEL_MOUSE_HACK_ON; @@ -574,13 +575,16 @@ hidinput->input.id.product = le16_to_cpu(dev->descriptor.idProduct); hidinput->input.id.version = le16_to_cpu(dev->descriptor.bcdDevice); hidinput->input.dev = &hid->intf->dev; + + set_bit(EV_MSC, hidinput->input.evbit); + set_bit(MSC_SCAN, hidinput->input.mscbit); } for (i = 0; i < report->maxfield; i++) for (j = 0; j < report->field[i]->maxusage; j++) hidinput_configure_usage(hidinput, report->field[i], report->field[i]->usage + j); - + if (hid->quirks & HID_QUIRK_MULTI_INPUT) { /* This will leave hidinput NULL, so that it * allocates another one if we have more inputs on
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |