Hi Pierre, >-----Original Message----- >From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@xxxxxxxxxxxxxxx] >Sent: Friday, April 12, 2019 11:00 AM >To: Yang, Libin <libin.yang@xxxxxxxxx>; alsa-devel@xxxxxxxxxxxxxxxx; >tiwai@xxxxxxx; broonie@xxxxxxxxxx >Subject: Re: [PATCH] ASoC: codec: hdac_hdmi add device_link to >card device > >On 4/11/19 9:40 PM, libin.yang@xxxxxxxxx wrote: >> From: Libin Yang <libin.yang@xxxxxxxxx> >> >> In resume from S3, HDAC HDMI codec driver dapm event callback may be >> operated before HDMI codec driver turns on the display audio power >> domain because of the contest between display driver and hdmi codec >driver. >> >> This patch adds the device_link between soc card device (consumer) and >> hdmi codec device (supplier) to make sure the sequence is always correct. >> >> Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> >> --- >> sound/soc/codecs/hdac_hdmi.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/sound/soc/codecs/hdac_hdmi.c >> b/sound/soc/codecs/hdac_hdmi.c index 5eeb0fe..8bb883e 100644 >> --- a/sound/soc/codecs/hdac_hdmi.c >> +++ b/sound/soc/codecs/hdac_hdmi.c >> @@ -1855,6 +1855,15 @@ static int hdmi_codec_probe(struct >snd_soc_component *component) >> hdmi->card = dapm->card->snd_card; >> >> /* >> + * Setup a device_link between card device and HDMI codec device. >> + * The card device is the consumer and the HDMI codec device is >> + * the supplier. With this setting, we can make sure that the audio >> + * domain in display power will be always turned on before operating >> + * on the HDMI audio codec registers. >> + */ >> + 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. Regards, Libin >Thanks! _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel