HID: separate quirks for report descriptor fixup
authorJiri Kosina <jkosina@suse.cz>
Tue, 19 Jun 2007 12:09:14 +0000 (14:09 +0200)
committerJiri Kosina <jkosina@suse.cz>
Mon, 9 Jul 2007 12:13:34 +0000 (14:13 +0200)
commitea9a4a8b0e5a34eca6613e39d21be879d92ecff5
treef9e816b5a7719e0528b2c0426aeac6d32d7b422f
parentb8e98f1c47b743e56f8ebe21006199cefd577ce5
HID: separate quirks for report descriptor fixup

Lately there have been quite a lot of bug reports against broken devices
which require us to fix their report descriptor in the runtime, before it
is passed to the HID parser. Those devices have eaten quite an amount of
our quirks space, which isn't particularly necessary - the quirks are not
needed after the report descriptor is parsed, and they just consume bits.

Therefore this patch separates the quirks for report descriptor fixup, and
moves their handling into separate code. The quirks are then forgotten as
soon as the report descriptor has been parsed.

Module parameter 'rdesc_quirks' is introduced to be able to modify these
quirks in runtime in a similar way to 'quirks' parameter for ordinary HID
quirks.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hid-core.c
drivers/hid/usbhid/hid-quirks.c
include/linux/hid.h