Matthew Dharm schrieb:
On Tue, Oct 06, 2009 at 03:38:06PM +0200, Josua Dietze wrote:
Honestly, I'd rather see a principal decision to do all this
switching stuff either in the kernel or in the userspace. Up
to now every device could be handled by "udev" and
"usb_modeswitch". Even proper device identification (beyond
vendor and product ID, to avoid ambiguities) can be done
there. And lately the "option" driver is bound to switched
modems via the "new_id" facility, with no immediate need to
add them to the "option" ID list.
I happen to support this idea. But, to get there from here, we would need
to systematicaly make sure that all currently supported devices would be
supported properly by udev and usb_modeswitch, then remove them from the
kernel.
As far as I know, all devices that are switched by the kernel are
supported already. In fact, they are a subset of the devices handled
by usb_modeswitch - there are almost 40 of them now. "option_ms.c"
can be made obsolete, as well as huawei_e220_init in "initializers.c".
There might be issues with the Sierra code which checks for the
version/content of the storage device before determining the mode to
switch to. Switching to plain modem mode is presently working with
usb_modeswitch, but the third mode and the querying would have to be
added. Not a problem though.
Getting the device information from and testing by users would be as
essential as if the switching business were part of the kernel; but
obviously being independent of kernel release cycles had plenty of
advantages.
I don't recall the objections to moving all this to userspace, but I do
remember that there were some. But, I agree, having all this in the kernel
is (a) confusing and (b) makes it difficult to add new devices quickly and
easily.
I remember having read the list discussion about "option_ms". There
was no striking argument for the kernel integration other than
problems with the external tool that the manufacturer provided at
the time, if I remember correctly.
Josua Dietze
--
Man is the only creature on earth enabled to take a
warm meal while flying! Loriot
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html