Hi, On Wed, Jun 17, 2020 at 11:18:24AM +0900, JaeHun Jung wrote: > In mobile, a co-processor is used when using USB audio > to improve power consumption. > hooking is required for sync-up when operating > the co-processor. So register call-back function. > The main operation of the call-back function is as follows: > - Initialize the co-processor by transmitting data > when initializing. > - Change the co-processor setting value through > the interface function. > - Configure sampling rate > - pcm open/close > > Bug: 156315379 > > Change-Id: I32e1dd408e64aaef68ee06c480c4b4d4c95546dc > Signed-off-by: JaeHun Jung <jh0801.jung@xxxxxxxxxxx> > --- > sound/usb/card.c | 16 ++++++++++++++++ > sound/usb/card.h | 1 + > sound/usb/clock.c | 5 +++++ > sound/usb/pcm.c | 33 +++++++++++++++++++++++++++++++++ > sound/usb/usbaudio.h | 30 ++++++++++++++++++++++++++++++ > 5 files changed, 85 insertions(+) > diff --git a/sound/usb/card.c b/sound/usb/card.c > index fd6fd17..2f3fa14 100644 > --- a/sound/usb/card.c > +++ b/sound/usb/card.c > @@ -111,6 +111,7 @@ MODULE_PARM_DESC(skip_validation, "Skip unit descriptor validation (default: no) > static DEFINE_MUTEX(register_mutex); > static struct snd_usb_audio *usb_chip[SNDRV_CARDS]; > static struct usb_driver usb_audio_driver; > +struct snd_usb_audio_vendor_ops *usb_audio_ops; > > /* > * disconnect streams > @@ -210,6 +211,12 @@ static int snd_usb_create_stream(struct snd_usb_audio *chip, int ctrlif, int int > return 0; > } > > +void snd_set_vender_interface(struct snd_usb_audio_vendor_ops *vendor_ops) > +{ > + usb_audio_ops = vendor_ops; > +} > +EXPORT_SYMBOL_GPL(snd_set_vender_interface); I think the symbol name has typo; 'vender' against 'vendor'. Anyway, this feature is not widely used at present. I suggest to add kernel configuration for the feature at kernel compilation time, IMO. Regards Takashi Sakamoto