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@samsung.com
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