diff mbox series

usb: gadget: legacy: audio: add c_sync parameter

Message ID 20210913024723.1334206-1-yoshihiro.shimoda.uh@renesas.com (mailing list archive)
State Under Review
Delegated to: Geert Uytterhoeven
Headers show
Series usb: gadget: legacy: audio: add c_sync parameter | expand

Commit Message

Yoshihiro Shimoda Sept. 13, 2021, 2:47 a.m. UTC
The commit 40c73b30546e ("usb: gadget: f_uac2: add adaptive sync
support for capture") supported 'c_sync' for configfs file.
To configure the 'c_sync' via legacy audio driver, add c_sync
parameter. And then, we can change the 'c_sync' to 'ADAPTIVE' like
below:

    modprobe g_audio c_sync=8

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 drivers/usb/gadget/legacy/audio.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Greg KH Sept. 13, 2021, 5:52 a.m. UTC | #1
On Mon, Sep 13, 2021 at 11:47:23AM +0900, Yoshihiro Shimoda wrote:
> The commit 40c73b30546e ("usb: gadget: f_uac2: add adaptive sync
> support for capture") supported 'c_sync' for configfs file.
> To configure the 'c_sync' via legacy audio driver, add c_sync
> parameter. And then, we can change the 'c_sync' to 'ADAPTIVE' like
> below:
> 
>     modprobe g_audio c_sync=8
> 
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
>  drivers/usb/gadget/legacy/audio.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/usb/gadget/legacy/audio.c b/drivers/usb/gadget/legacy/audio.c
> index a748ed0842e8..f9765bf63006 100644
> --- a/drivers/usb/gadget/legacy/audio.c
> +++ b/drivers/usb/gadget/legacy/audio.c
> @@ -49,6 +49,11 @@ MODULE_PARM_DESC(c_srate, "Capture Sampling Rate");
>  static int c_ssize = UAC2_DEF_CSSIZE;
>  module_param(c_ssize, uint, S_IRUGO);
>  MODULE_PARM_DESC(c_ssize, "Capture Sample Size(bytes)");
> +
> +/* Capture Default ASYNC */
> +static int c_sync = UAC2_DEF_CSYNC;
> +module_param(c_sync, uint, S_IRUGO);
> +MODULE_PARM_DESC(c_sync, "Capture Sync Type");

Please do not add new module parameters when ever possible.

Why are you adding "new" features to the legacy driver?  Why can you not
just use the newer driver instead if you want this feature?

thanks,

greg k-h
Yoshihiro Shimoda Sept. 13, 2021, 7:12 a.m. UTC | #2
Hi Greg,

> From: Greg KH, Sent: Monday, September 13, 2021 2:52 PM
> 
> On Mon, Sep 13, 2021 at 11:47:23AM +0900, Yoshihiro Shimoda wrote:
> > The commit 40c73b30546e ("usb: gadget: f_uac2: add adaptive sync
> > support for capture") supported 'c_sync' for configfs file.
> > To configure the 'c_sync' via legacy audio driver, add c_sync
> > parameter. And then, we can change the 'c_sync' to 'ADAPTIVE' like
> > below:
> >
> >     modprobe g_audio c_sync=8
> >
> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> > ---
> >  drivers/usb/gadget/legacy/audio.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/drivers/usb/gadget/legacy/audio.c b/drivers/usb/gadget/legacy/audio.c
> > index a748ed0842e8..f9765bf63006 100644
> > --- a/drivers/usb/gadget/legacy/audio.c
> > +++ b/drivers/usb/gadget/legacy/audio.c
> > @@ -49,6 +49,11 @@ MODULE_PARM_DESC(c_srate, "Capture Sampling Rate");
> >  static int c_ssize = UAC2_DEF_CSSIZE;
> >  module_param(c_ssize, uint, S_IRUGO);
> >  MODULE_PARM_DESC(c_ssize, "Capture Sample Size(bytes)");
> > +
> > +/* Capture Default ASYNC */
> > +static int c_sync = UAC2_DEF_CSYNC;
> > +module_param(c_sync, uint, S_IRUGO);
> > +MODULE_PARM_DESC(c_sync, "Capture Sync Type");
> 
> Please do not add new module parameters when ever possible.

I got it.

> Why are you adding "new" features to the legacy driver?  Why can you not
> just use the newer driver instead if you want this feature?

I can use the newer driver (configfs-base), but using the legacy driver
was easy to me. However, I'll use the newer driver instead from now on.

Best regards,
Yoshihiro Shimoda
diff mbox series

Patch

diff --git a/drivers/usb/gadget/legacy/audio.c b/drivers/usb/gadget/legacy/audio.c
index a748ed0842e8..f9765bf63006 100644
--- a/drivers/usb/gadget/legacy/audio.c
+++ b/drivers/usb/gadget/legacy/audio.c
@@ -49,6 +49,11 @@  MODULE_PARM_DESC(c_srate, "Capture Sampling Rate");
 static int c_ssize = UAC2_DEF_CSSIZE;
 module_param(c_ssize, uint, S_IRUGO);
 MODULE_PARM_DESC(c_ssize, "Capture Sample Size(bytes)");
+
+/* Capture Default ASYNC */
+static int c_sync = UAC2_DEF_CSYNC;
+module_param(c_sync, uint, S_IRUGO);
+MODULE_PARM_DESC(c_sync, "Capture Sync Type");
 #else
 #ifndef CONFIG_GADGET_UAC1_LEGACY
 #include "u_uac1.h"
@@ -268,6 +273,8 @@  static int audio_bind(struct usb_composite_dev *cdev)
 	uac2_opts->c_chmask = c_chmask;
 	uac2_opts->c_srate = c_srate;
 	uac2_opts->c_ssize = c_ssize;
+	if (c_sync == USB_ENDPOINT_SYNC_ADAPTIVE)
+		uac2_opts->c_sync = c_sync;
 	uac2_opts->req_number = UAC2_DEF_REQ_NUM;
 #else
 #ifndef CONFIG_GADGET_UAC1_LEGACY