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

Takashi Iwai tiwai at suse.de
Sat Apr 13 08:06:40 CEST 2019


On Sat, 13 Apr 2019 01:00:38 +0200,
Yang, Libin wrote:
> 
> 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?

Yes.


Takashi


More information about the Alsa-devel mailing list