Hi Balbi, On March 4, 2016 7:16:42 AM GMT+00:00, Felipe Balbi <balbi@xxxxxxxxxx> wrote: > >Hi, > >"Felipe F. Tonello" <eu@xxxxxxxxxxxxxxxxx> writes: >> [ text/plain ] >> This gadget uses a bmAttributes and MaxPower that requires the USB >bus to be >> powered from the host, which is not correct because this >configuration is device >> specific, not a USB-MIDI requirement. >> >> This patch adds two modules parameters, bmAttributes and MaxPower, >that allows >> the user to set those flags. The default values are what the gadget >used to use >> for backward compatibility. >> >> Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> >> --- >> drivers/usb/gadget/legacy/gmidi.c | 14 ++++++++++++-- >> 1 file changed, 12 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/usb/gadget/legacy/gmidi.c >b/drivers/usb/gadget/legacy/gmidi.c >> index fc2ac150f5ff..0553435cc360 100644 >> --- a/drivers/usb/gadget/legacy/gmidi.c >> +++ b/drivers/usb/gadget/legacy/gmidi.c >> @@ -63,6 +63,14 @@ static unsigned int out_ports = 1; >> module_param(out_ports, uint, S_IRUGO); >> MODULE_PARM_DESC(out_ports, "Number of MIDI output ports"); >> >> +static unsigned int bmAttributes = USB_CONFIG_ATT_ONE; >> +module_param(bmAttributes, uint, S_IRUGO); >> +MODULE_PARM_DESC(bmAttributes, "Configuration Descriptor's >bmAttributes parameter"); >> + >> +static unsigned int MaxPower = CONFIG_USB_GADGET_VBUS_DRAW; >> +module_param(MaxPower, uint, S_IRUGO); >> +MODULE_PARM_DESC(MaxPower, "Used to calculate Configuration >Descriptor's bMaxPower parameter"); > >you didn't run checkpatch, did you ? Also, are you sure you will need >to >change this by simply reloading the module ? I'm not convinced. Yes I always run checkpatch :) What do you mean by reloading the module? > >> @@ -119,8 +127,8 @@ static struct usb_configuration midi_config = { >> .label = "MIDI Gadget", >> .bConfigurationValue = 1, >> /* .iConfiguration = DYNAMIC */ >> - .bmAttributes = USB_CONFIG_ATT_ONE, > >nack, nackety nack nack nack :-) > >USB_CONFIG_ATT_ONE *must* always be set. With your module parameter you >give users the oportunity to violate USB spec. You are right. It needs to check the value before it assigns to bmAttributes. Felipe -- Sent from my Android device with K-9 Mail. Please excuse my brevity. -- 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