Re: [PATCH] [RFC] usb: gadget: composite: Allow idVendor and othermodule_params to be writable

From: John Stultz
Date: Thu Feb 21 2013 - 18:29:34 EST

On 02/21/2013 02:52 PM, Michal Nazarewicz wrote:
On Thu, Feb 21 2013, John Stultz wrote:
In many cases, documentation around composite drivers suggest
setting the idVendor and other module params as follows:

$ insmod g_ffs.ko idVendor=<ID> iSerialNumber=<string>

However, this won't work if the driver is not compiled in as a
module, as the module_param permissions are S_IRUGO.

Thus this patch changes the composite module_param permissions
to S_IRUGO|S_IWUSR to allow the module_params to be set at
runtime via /sys/modules/<driver>/parameters/
If the driver is not compiled as a module, setting those variables won't
work anyway. Or am I missing something?

Huh. It worked in my testing. But maybe that's only the first time its set? I'll play around with it some more, but yea, on further thought, without unloading the module those values probably shouldn't change. Sorry for the confusion on my part here.

You can, however, pass them on Linux command line (with some prefix
which I can never remember).
That's right. Yea. g_ffs.idVendor and g_ffs.idProduct works for me. Thanks for the reminder!

If you want to configure things at run-time without having to compile
stuff as modules, you need to wait for the configfs based gadgets.

Heh. I thought I was just sorting things out between the out-of-tree android composite, ccg in staging, and functionfs. And now there's *another*?

Any details on configfs based gadget? Is there a git tree somewhere?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at