I've never really exercised the rawhid stuff other than to check basic operation. But that now leaves my demo program able to talk to an Arduino (etc.) using either a proprietary protocol or PJRC's HID, or to drive GPIO bits via either /sys or /dev on either a PC or an RPi.
I was tinkering with a Linux kernel module over the weekend and was able to get uSec timing precision, but that was very much an exceptional situation and in no way a substitute for having a proper RTOS.
MarkMLl