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

John Stultz
2013-02-21T23:29:32Z

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?

thanks
-john