On Thu, May 5, 2022 at 12:47 PM Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > > On Thu, May 05, 2022 at 10:50:24AM +0200, Benjamin Tissoires wrote: > > Hi Vicki, > > > > On Thu, Apr 28, 2022 at 12:52 AM Vicki Pfau <vi@xxxxxxxxxxx> wrote: > > > > > > This allows the touchpad input_dev to be removed and have the driver remain > > > functional without its presence. This will be used to allow the touchpad to > > > be disabled, e.g. by a module parameter. > > > > Thanks for the contribution. > > I'd like to hear from Roderick, but I have a general comment here: > > We had Wii and Steam controllers following this logic. Now we are > > adding Sony PS ones... That seems like a lot of duplication, and I > > wonder if we should not have something more generic. > Using this to hook into the thread with Benjamin. It didn't make it to the list (due to HTML I guess) and replying from work email messes things up (Outlook...). There is definitely a need for some type of hidraw / evdev interop. What it should be I'm not fully sure. I think it needs to be some explicit request or something from user space. In case of the Dualsense it is a very complicated device and many features work through HID including many audio and other features, which I hope to support at some point. I feel the need for the driver to be able to 'snoop' what is going through hidraw. The extra node hack allowed for that, though ideally if a hid driver could get some callbacks without having to go through all this extra setup code, would be great. For me the use cases for snooping include: - Keep sysfs nodes in sync e.g. LED nodes with whatever a hidraw user is setting. - Error handling in case of a crashing hidraw client. E.g. a hidraw client may enable rumble. If the application crashes, we probably want the kernel driver to disable rumbling. - Handling of audio features (speaker, microphone, headphone jack settings, ...). One day we will provide a proper audio driver over HID. Many of the control features work over the same HID output report as used for rumble, LEDs etcetera. - When no users (hidraw / evdev) are connected, potentially enable some of the power management features (e.g. disable touchpad / sensors at the hardware level) There are probably some others as well. Thanks, Roderick