lkml.org 
[lkml]   [2005]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectrecent 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/

\
 
 \ /
  Last update: 2005-03-22 14:10    [W:0.035 / U:0.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site