static void hdmi_destroy(struct hdmi *hdmi) { struct hdmi_phy *phy = hdmi->phy; if (phy) phy->funcs->destroy(phy); if (hdmi->i2c) hdmi_i2c_destroy(hdmi->i2c); platform_set_drvdata(hdmi->pdev, NULL); }
void hdmi_destroy(struct kref *kref) { struct hdmi *hdmi = container_of(kref, struct hdmi, refcount); struct hdmi_phy *phy = hdmi->phy; if (phy) phy->funcs->destroy(phy); if (hdmi->i2c) hdmi_i2c_destroy(hdmi->i2c); put_device(&hdmi->pdev->dev); }
void hdmi_destroy(struct kref *kref) { struct hdmi *hdmi = container_of(kref, struct hdmi, refcount); struct hdmi_phy *phy = hdmi->phy; if (phy) phy->funcs->destroy(phy); if (hdmi->i2c) hdmi_i2c_destroy(hdmi->i2c); platform_set_drvdata(hdmi->pdev, NULL); }
static void hdmi_destroy(struct hdmi *hdmi) { struct hdmi_phy *phy = hdmi->phy; /* * at this point, hpd has been disabled, * after flush workq, it's safe to deinit hdcp */ if (hdmi->workq) { flush_workqueue(hdmi->workq); destroy_workqueue(hdmi->workq); } hdmi_hdcp_destroy(hdmi); if (phy) phy->funcs->destroy(phy); if (hdmi->i2c) hdmi_i2c_destroy(hdmi->i2c); platform_set_drvdata(hdmi->pdev, NULL); }