On 04/23/2012 12:27 AM, Jiri Kosina wrote: > On Sun, 22 Apr 2012, Henrik Rydberg wrote: > >> This patchset contains a resolution to the problem with >> driver-specific modification of the report descriptor. The core of the >> problem lies with the dual semantics of hid_parse_report(), which is >> therefore split into two functions. As a consequence, the hid core can >> handle the rebind case internally, with no changes to the >> drivers. Out-of-tree drivers will work fine as long as they operate in >> the same way as the in-kernel drivers. >> >> The first two patches are bug fixes found in the process. I am hoping >> for some test feedback on those. The third patch is the main one. I've tested the last patch and it seems to work as required. I did a series of generic<->specific driver rebindings both ways in a loop and it works. So, Tested-by: Nikolai Kondrashov Thanks Henrik! I'm not sure, though, if one thing works as it should: the quirks are not reset when changing the driver. So, quirks set by one driver may affect behavior of another. I don't understand full quirks usage and ownership yet, so can't argue if this is right or wrong. Regarding the code, could it be the time to fix naming of report descriptor-handling functions to improve distinction from report-handling ones? I'm attaching a patch applying on top of Henrik's changes which should illustrate the proposal. Thanks! Sincerely, Nick