Hi Andrzej, Thank you for the patch. On Wednesday 16 July 2014 16:54:11 Andrzej Pietrasiewicz wrote: > When configfs support is integrated the future uvc function > module must not take any parameters. Move parameters to > webcam. > > Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/usb/gadget/function/f_uvc.c | 26 +++++++++----------------- > drivers/usb/gadget/function/f_uvc.h | 6 +++++- > drivers/usb/gadget/legacy/webcam.c | 27 ++++++++++++++++++++++++--- > 3 files changed, 38 insertions(+), 21 deletions(-) > > diff --git a/drivers/usb/gadget/function/f_uvc.c > b/drivers/usb/gadget/function/f_uvc.c index ff4340a..fd338fb 100644 > --- a/drivers/usb/gadget/function/f_uvc.c > +++ b/drivers/usb/gadget/function/f_uvc.c > @@ -29,21 +29,9 @@ > #include "uvc.h" > > unsigned int uvc_gadget_trace_param; > - > -/*------------------------------------------------------------------------- > */ - > -/* module parameters specific to the Video streaming endpoint */ > -static unsigned int streaming_interval = 1; > -module_param(streaming_interval, uint, S_IRUGO|S_IWUSR); > -MODULE_PARM_DESC(streaming_interval, "1 - 16"); > - > -static unsigned int streaming_maxpacket = 1024; > -module_param(streaming_maxpacket, uint, S_IRUGO|S_IWUSR); > -MODULE_PARM_DESC(streaming_maxpacket, "1 - 1023 (FS), 1 - 3072 (hs/ss)"); > - > +static unsigned int streaming_interval; > +static unsigned int streaming_maxpacket; > static unsigned int streaming_maxburst; > -module_param(streaming_maxburst, uint, S_IRUGO|S_IWUSR); > -MODULE_PARM_DESC(streaming_maxburst, "0 - 15 (ss only)"); > > /* > -------------------------------------------------------------------------- > * Function descriptors > @@ -748,7 +736,9 @@ uvc_bind_config(struct usb_configuration *c, > const struct uvc_descriptor_header * const *ss_control, > const struct uvc_descriptor_header * const *fs_streaming, > const struct uvc_descriptor_header * const *hs_streaming, > - const struct uvc_descriptor_header * const *ss_streaming) > + const struct uvc_descriptor_header * const *ss_streaming, > + unsigned int stream_interv, unsigned int stream_maxpkt, > + unsigned int stream_maxburst, unsigned int trace) > { > struct uvc_device *uvc; > int ret = 0; > @@ -786,6 +776,10 @@ uvc_bind_config(struct usb_configuration *c, > ss_streaming[0]->bDescriptorSubType != UVC_VS_INPUT_HEADER) > goto error; > > + streaming_interval = stream_interv; > + streaming_maxpacket = stream_maxpkt; > + streaming_maxburst = stream_maxburst; > + uvc_gadget_trace_param = trace; > uvc->desc.fs_control = fs_control; > uvc->desc.ss_control = ss_control; > uvc->desc.fs_streaming = fs_streaming; > @@ -830,6 +824,4 @@ error: > return ret; > } > > -module_param_named(trace, uvc_gadget_trace_param, uint, S_IRUGO|S_IWUSR); > -MODULE_PARM_DESC(trace, "Trace level bitmask"); > > diff --git a/drivers/usb/gadget/function/f_uvc.h > b/drivers/usb/gadget/function/f_uvc.h index ec52752..74b9602 100644 > --- a/drivers/usb/gadget/function/f_uvc.h > +++ b/drivers/usb/gadget/function/f_uvc.h > @@ -21,7 +21,11 @@ int uvc_bind_config(struct usb_configuration *c, > const struct uvc_descriptor_header * const *hs_control, > const struct uvc_descriptor_header * const *fs_streaming, > const struct uvc_descriptor_header * const *hs_streaming, > - const struct uvc_descriptor_header * const *ss_streaming); > + const struct uvc_descriptor_header * const *ss_streaming, > + unsigned int streaming_interval_webcam, > + unsigned int streaming_maxpacket_webcam, > + unsigned int streaming_maxburst_webcam, > + unsigned int uvc_gadget_trace_webcam); > > #endif /* _F_UVC_H_ */ > > diff --git a/drivers/usb/gadget/legacy/webcam.c > b/drivers/usb/gadget/legacy/webcam.c index a11d8e4..f826622 100644 > --- a/drivers/usb/gadget/legacy/webcam.c > +++ b/drivers/usb/gadget/legacy/webcam.c > @@ -29,6 +29,25 @@ > #include "f_uvc.c" > > USB_GADGET_COMPOSITE_OPTIONS(); > + > +/*------------------------------------------------------------------------- > */ + > +/* module parameters specific to the Video streaming endpoint */ > +static unsigned int streaming_interval = 1; > +module_param(streaming_interval, uint, S_IRUGO|S_IWUSR); > +MODULE_PARM_DESC(streaming_interval, "1 - 16"); > + > +static unsigned int streaming_maxpacket = 1024; > +module_param(streaming_maxpacket, uint, S_IRUGO|S_IWUSR); > +MODULE_PARM_DESC(streaming_maxpacket, "1 - 1023 (FS), 1 - 3072 (hs/ss)"); > + > +static unsigned int streaming_maxburst; > +module_param(streaming_maxburst, uint, S_IRUGO|S_IWUSR); > +MODULE_PARM_DESC(streaming_maxburst, "0 - 15 (ss only)"); > + > +static unsigned int trace; > +module_param(trace, uint, S_IRUGO|S_IWUSR); > +MODULE_PARM_DESC(trace, "Trace level bitmask"); > /* > -------------------------------------------------------------------------- > * Device descriptor > */ > @@ -326,9 +345,11 @@ static const struct uvc_descriptor_header * const > uvc_ss_streaming_cls[] = { static int __init > webcam_config_bind(struct usb_configuration *c) > { > - return uvc_bind_config(c, uvc_fs_control_cls, uvc_ss_control_cls, > - uvc_fs_streaming_cls, uvc_hs_streaming_cls, > - uvc_ss_streaming_cls); > + return uvc_bind_config(c, uvc_fs_control_cls, > + uvc_ss_control_cls, uvc_fs_streaming_cls, > + uvc_hs_streaming_cls, uvc_ss_streaming_cls, > + streaming_interval, streaming_maxpacket, > + streaming_maxburst, trace); > } > > static struct usb_configuration webcam_config_driver = { -- Regards, Laurent Pinchart -- 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