[PATCH] ALSA: hda: Do not unset preset when cleaning up codec
Cezary Rojewski
cezary.rojewski at intel.com
Wed Jan 18 12:47:18 CET 2023
On 2023-01-18 12:38 PM, Cezary Rojewski wrote:
> On 2023-01-17 4:48 PM, Pierre-Louis Bossart wrote:
>> On 1/17/23 09:47, Cezary Rojewski wrote:
>>> Several functions that take part in codec's initialization and removal
>>> are re-used by ASoC codec drivers implementations. Drivers mimic the
>>> behavior of hda_codec_driver_probe/remove() found in
>>> sound/pci/hda/hda_bind.c with their component->probe/remove() instead.
>>>
>>> One of the reasons for that is the expectation of
>>> snd_hda_codec_device_new() to receive a valid struct snd_card pointer
>>> what cannot be fulfilled on ASoC side until a card is attempted to be
>>
>> very hard to follow.
>> Is there a spurious 'what' to be removed?
>> Or is there missing text?
>> Please consider rewording with simpler sentences.
>
> Thanks for the comments. 'what' is here on purpose as to my ear this
> sentence sounds reasonable, but I'm not a native English speaker so I
> might be wrong here.
>
> The following is being explained by the commit message:
>
> - functions such as snd_hda_codec_device_new() expect a valid pointer to
> struct snd_card instance
> - for ASoC hda codec drivers, when hdev_attach/detach() are called,
> there is no possibility to provide one to HDAudio API as card components
> are not yet enumerated
> - once component->probe() is invoked and succeeds, component->card will
> point to a valid sound card
> - hda codec driver is now ready to call snd_hda_codec_device_new()
Let me rephrase the last 2 points: hda codec driver is ready to call
functions such as snd_hda_codec_device_new() only when its
component->probe() op gets invoked. Until that happens, field
component->card is invalid.
More information about the Alsa-devel
mailing list