Backport UHID driver from linux 3.8