On Sun, May 14, 2017 at 3:27 AM, Jean-Michel Hautbois <jhautbois@xxxxxxxxx> wrote: > Maybe a debugfs would be easier than an ioctl? Do you have a good reason to > use the control framework for that matter? I implemented this once before, using a custom ioctl, which meant that I had to maintain a custom kernel header file. I am looking for a better way to do this. I wondered if I could do this through the V4L2 framework, but perhaps, as you suggest, the debugfs would be better. The underlying issue I am trying to address is this: I have an application that used the ov7740 imager from Omnivision. I have custom register settings that were provided to me under NDA. I have asked Omnivision if I can publish those register settings in GPL'd source code, but have received no response. So, my alternative approach was to modify the GPL driver to accept custom register settings (through a new IOCTL). That way I can bake the register settings in my custom application and still use the GPL'd driver. But that meant that I had to define a header file that gets included in the kernel, and I need some way to build my application with a reference to that header file. This is error prone. I like your suggestion of a debugfs API. That way I could open /proc/sys/debug/ov7740/custom_vga_settings and write my register settings there. The name is the documentation. The format is in the README. Are there other ways I could do this? Certainly? Are there better ways I could do this? I'm open to opinions. Thanks again. --wpd