[PATCH] ALSA: usb-audio: Use the new macro for HP Dock rename quirks

Jaroslav Kysela perex at perex.cz
Mon Jun 8 11:38:40 CEST 2020


Dne 08. 06. 20 v 11:22 Takashi Iwai napsal(a):
> On Mon, 08 Jun 2020 11:01:43 +0200,
> Jaroslav Kysela wrote:
>>
>> Dne 08. 06. 20 v 10:44 Takashi Iwai napsal(a):
>>> On Mon, 08 Jun 2020 10:37:12 +0200,
>>> Jaroslav Kysela wrote:
>>>>
>>>> Dne 08. 06. 20 v 9:15 Takashi Iwai napsal(a):
>>>>> Replace the open-code with the new QUIRK_DEVICE_PROFILE() macro for
>>>>> simplicity.
>>>>>
>>>>> Fixes: 0c5086f56999 ("ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock")
>>>>> Signed-off-by: Takashi Iwai <tiwai at suse.de>
>>>>> ---
>>>>
>>>> Takashi, could we export the profile (hint) for new USB cards via the
>>>> components string - snd_component_add()? The long name seems not
>>>> appropriate for this. It's a GUI string (which is mangled now).
>>>
>>> It's possible, and maybe we should move to it, but we'd need to
>>> provide in card->longname for now because the component support in
>>> user-space side isn't in major releases yet.  The longname is ugly,
>>> but that's the only way that works stably right now.
>>>
>>> Also, we need a common helper function for adding the component string
>>> in the kernel side, too, not specific to USB-audio.
>>
>> There is already snd_component_add() function, so we need to settle
>> only the identification prefix for those "model" strings.
>>
>> It would be nice to duplicate this info for the moment (the components
>> string should be shorter than used for long name).
> 
> Yes, what we need a concrete definition.  The implementation in
> kernel-side must be easy :)
> 
>> Perhaps, we can just add "hw:<hint>" component string for the more
>> finer hardware identification, like:
>>
>> $ amixer -c 0 info
>> Components	: 'USB0bda:58fe hw:VideoMic'
> 
> I don't mind what form, but would the example above work as a UCM
> profile properly?

It should work for UCM2. UCM2 can compare the components string and load or 
use the appropriate piece of configuration. So it means that 
ucm2/USB-Audio/USB-Audio.conf will handle this.

I also added the possibility to extract 'VideoMic' (regex) from the 
'hw:VideoMic' string and include the file from the custom path (syntax 3 in 
UCM2). So we can end with the ucm2/USB-Audio/HiFi-VideoMic.conf file.

So basically, the prefix may be driver specific but consistent, so we can do a 
match against it in the user space. Or we may use 'hint:<hwid>' or so.

					Jaroslav

> 
> 
> thanks,
> 
> Takashi
> 


-- 
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list