Hi Takashi,
On 2/13/2024 4:18 AM, Takashi Iwai wrote:
On Tue, 13 Feb 2024 01:54:18 +0100, Wesley Cheng wrote:
--- a/sound/usb/Makefile +++ b/sound/usb/Makefile @@ -22,6 +22,7 @@ snd-usb-audio-objs := card.o \ stream.o \ validate.o
+snd-usb-audio-$(CONFIG_SND_USB_OFFLOAD_MIXER) += mixer_usb_offload.o snd-usb-audio-$(CONFIG_SND_USB_AUDIO_MIDI_V2) += midi2.o snd-usb-audio-$(CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER) += media.o
This puts the code into snd-usb-audio driver, and that causes a dependency mess, since...
I see what you mean after moving some things into modules, etc... Will fix this accordingly.
+snd_usb_offload_available_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
+{
- struct device *sysdev = snd_kcontrol_chip(kcontrol);
- int ret;
- ret = snd_soc_usb_device_offload_available(sysdev);
... here you call snd_soc_usb_*() stuff that belongs to snd-soc-usb. That is, with this patch, snd-usb-audio driver will depend on snd-soc-usb, while snd-soc-usb also depends on snd-usb-audio for its helpers again.
I believe the better way would be to move this whole miser_usb_offload code into sound/usb/qcom/. You need only usb_device and snd_card objects at the creation, and you can get them in qcom driver side, too.
Yes, plan is just to compile this as part of the overall offload module if the config is enabled.
Thanks Wesley Cheng