Hm, the problem here is, that report (supported inputs et al.) parsing needs to
be done some time. Since some devices have reports broken too, some of their
reports need to be fixed before parsing. So the parsing is postponed after
*first* driver binds, then it's checked if the coming driver has report_fixup
hook and if yes, it's executed and the device is finally parsed and set up. If
it has not (e.g. generic), it's just parsed and set up.
If you bind the generic driver as the first driver and the particular device
needs report fixing, it never performs the fixup. Actually what I don't know is
how to solve this effectively.
--