Re: [PATCH 0/2] Add a skeleton module to perform a basic initialization on certain USB devices

From: Michal Malý
Date: Sat Jan 23 2016 - 10:57:59 EST

On sobota 23. ledna 2016 13:46:32 CET Bjørn Mork wrote:
> Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx> writes:
> > This mini series adds a simple skeleton module whose only purpose is to
> > bring devices that at first appear as a generic USB device into another
> > mode that can be handled by a more specific subsystem.
> >
> > This patch was originally requested by Dmitry, reasoning that loading the
> > entire xpad module just to switch a Logitech G920 wheel into HID mode is
> > excessive and does not make much sense.
> >
> > The module can be extended to handle any other USB device that might
> > require such a switch.
> Can this switching be done in userspace? That's what we normally do, ref
> usb_modeswitch.

I briefly considered leaving the switch up to the userspace and handling the
device in the kernel only once it's been switched. I am however uncertain how
to advertise this to the users. Writing a tiny app that would currently handle
just one device seems like an overkill, abusing usb_modeswitch seems counter-
intuitive as it's purpose is to handle various USB modems. Having a tiny
module in the kernel looks like the most straightforward thing to do as far as
user experience is concerned.

I would not object to deferring the switch to userspace as long as there is an
easy way how to communicate the need for a small switching tool to the users.