On Thu, Apr 15, 2021 at 04:35:45PM +0100, mark@xxxxxxxxxxx wrote: > Hi all > > My name is Mark and I'm currently writing a device driver for Eizo EV > FlexScan monitors, so that I can control them over usb. This driver is built > by reverse engineering the hid reports sent by the propriety and windows > only software. > It can be found here: https://github.com/markbolhuis/openeizo > > I have some questions about this that hopefully somebody can answer. > > 1) What would be the recommended way to interface this with userspace? My > plan is to expose a device file for each unique setting that the monitor has > such as brightness control, input selection and so on... However I'm not > sure this is a suitable way of doing this since the monitors have many > options that are very similar. For example contiguous numerical values only > differ by their usage and value min and max, meaning that if I have a file > per setting there will be a lot of repetition. There are already 40+ unique > attributes/settings that may need a file. Why do you need a kernel driver at all? Why not just use the userspace hid access and control stuff that way from an application? > 2) To properly initialize the driver I will have to fetch a second report > descriptor from the monitor. This isn't a standard hid report descriptor. It > seems that Eizo are simply using the format instead of inventing their own. > Is there a way for the hid subsystem to parse arbitrary report descriptors > and expose them as a structure for generic use? I couldn't find much that > would help with this. hid_parse_report @ inlcude/linux/hid.h:895 seems to be > the closest to what I need but it's tied to a device. If you write your own driver, you can do that from within the driver I think. But again, what's wrong with userspace? thanks, greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies