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

Wesley Cheng
2024-08-08T01:25:02Z

Hi Amadeusz,

On 8/6/2024 7:51 AM, Amadeusz Sławiński wrote:
> 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_*.)

Let me take a look at this and get back to you if I have any questions.

Thanks

Wesley Cheng