[alsa-devel] [PATCH] ASoC: codec: hdac_hdmi add device_link to card device

Yang, Libin libin.yang at intel.com
Sat Apr 13 01:00:38 CEST 2019


Hi Pierre,

>-----Original Message-----
>From: Pierre-Louis Bossart [mailto:pierre-louis.bossart at linux.intel.com]
>Sent: Friday, April 12, 2019 11:03 PM
>To: Yang, Libin <libin.yang at intel.com>; alsa-devel at alsa-project.org;
>tiwai at suse.de; broonie at kernel.org
>Subject: Re: [alsa-devel] [PATCH] ASoC: codec: hdac_hdmi add device_link to
>card device
>
>
>
>On 4/12/19 9:33 AM, Yang, Libin wrote:
>>>>
>>>>>>> +	device_link_add(component->card->dev, &hdev->dev,
>>>>>> DL_FLAG_RPM_ACTIVE |
>>>>>>> +			DL_FLAG_AUTOREMOVE_CONSUMER);
>>>>>>
>>>>>> Should device_link_free() be added to hdmi_codec_remove then?
>>>>>
>>>>> As Takashi suggested, I add the DL_FLAG_AUTOREMOVE_CONSUMER
>flag.
>>>>> This will make sure the link will be freed when machine driver are
>removed.
>>>>> And as machine driver depends on the hdac_hdmi module, when
>>>>> hdmi_codec_remove() is called, the link is freed already.
>>>>
>>>> ok, maybe adding a comment would help dummies like me who didn't
>>>> know about this flag? Thanks!
>>>
>>> Thanks for suggestion. I will add the comment.
>>
>> After a second thought, is there any possibility that the machine
>> driver does not depend on the hdac_hdmi module? I checked our current
>> driver, there is the dependency between machine driver and hdac_hdmi
>module.
>
>I don't get your question.
>All machine drivers supporting the iDISP link explicitly use a select
>HDAC_HDMI in the Kconfig and refer to DAIs created/exposed by the
>hdac_hdmi module.

So the dependency should always exists. I have checked all the machine
drivers and they all depends on the hdac_hdmi if they are using it.

>It's possible that the hdac_hdmi codec is probed as a result of the platform
>driver configuration but the machine driver does not support HDMI. In that
>case, is there any issue with your solution?

If machine driver doesn't support HDMI, component will never be called.
It is safe.

Hi Takashi,

My patch doesn't use component->init() as you suggested. But they should
be similar. Are you OK with this patch?

Regards,
Libin


More information about the Alsa-devel mailing list