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.
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?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel