When testing with clang 3.6.0, I got a number of the following -Wcast-qual warnings:
sys/dev/usb/input/uhid.c:737:33: error: cast from 'unsigned char const (*)[125]' to 'void *' drops const qualifier [-Werror,-Wcast-qual] sc->sc_repdesc_ptr = (void *)&uhid_graphire_report_descr; ^ sys/dev/usb/input/uhid.c:758:33: error: cast from 'unsigned char const (*)[161]' to 'void *' drops const qualifier [-Werror,-Wcast-qual] sc->sc_repdesc_ptr = (void *)&uhid_graphire3_4x5_report_descr; ^ sys/dev/usb/input/uhid.c:778:32: error: cast from 'unsigned char const (*)[166]' to 'void *' drops const qualifier [-Werror,-Wcast-qual] sc->sc_repdesc_ptr = (void *)&uhid_xb360gp_report_descr; ^
As far as I can see, sc_repdesc_ptr can't be made into a const pointer, so this has to be fixed using __DECONST().