Re: [PATCH v24 10/34] ASoC: usb: Create SOC USB SND jack kcontrol

Amadeusz Sławiński
2024-08-06T14:57:46Z

On 8/2/2024 12:43 AM, Wesley Cheng wrote:
> Hi Pierre,
>
> On 8/1/2024 1:07 AM, Pierre-Louis Bossart wrote:
>>
>>
>>> +static inline int snd_soc_usb_setup_offload_jack(struct snd_soc_component *component,
>>> + struct snd_soc_jack *jack)
>>> +{
>>> + return -ENODEV;
>>> +}
>>> +
>>> +static inline int snd_soc_usb_disable_offload_jack(struct snd_soc_component *component)
>>> +{
>>> + return -ENODEV;
>>> +}
>> usually fallback functions return 0, is the error code intentional?
> ACK.
>>
>>> +int snd_soc_usb_setup_offload_jack(struct snd_soc_component *component,
>>> + struct snd_soc_jack *jack)
>>> +{
>>> + int ret;
>>> +
>>> + ret = snd_soc_card_jack_new(component->card, "USB Offload Playback Jack",
>> do we need the reference to Playback?
> No, will remove.
>>> + SND_JACK_HEADPHONE, jack);
>> wondering if there would be any merit in defining a new type of jack,
>> e.g. SND_JACK_USB since here the purpose is to notify that there's a USB
>> device connected. The type of device does not really matter, does it?
>>
> Not as of now, but I think we discussed in the past that maybe depending on if playback and capture is supported, we can notify SND_JACK_HEADSET?  That is something I will need to change depending on how we want to handle the comments on patch#9
>

I agree with Pierre that SND_JACK_HEADPHONE is too specific in this
case, adding SND_JACK_USB sounds like good solution, as there are more
device types than headset and headphones. Alternatively you could also
consider defining some type of USB Audio Class mapping to existing
SND_JACK types. (Look for UAC_INPUT_TERMINAL_*, UAC_OUTPUT_TERMINAL_* &
UAC_BIDIR_TERMINAL_*.)