Merge tag 'topic/core-stuff-2014-06-30' of git://anongit.freedesktop.org/drm-intel...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / msm / hdmi / hdmi_connector.c
index e56a6196867c6609c4940555d359cd898a4155bd..76960faae38ffcf356ff5eb0c433c78d8d7dd5a4 100644 (file)
@@ -127,6 +127,14 @@ static int hpd_enable(struct hdmi_connector *hdmi_connector)
        }
 
        for (i = 0; i < config->hpd_clk_cnt; i++) {
+               if (config->hpd_freq && config->hpd_freq[i]) {
+                       ret = clk_set_rate(hdmi->hpd_clks[i],
+                                       config->hpd_freq[i]);
+                       if (ret)
+                               dev_warn(dev->dev, "failed to set clk %s (%d)\n",
+                                               config->hpd_clk_names[i], ret);
+               }
+
                ret = clk_prepare_enable(hdmi->hpd_clks[i]);
                if (ret) {
                        dev_err(dev->dev, "failed to enable hpd clk: %s (%d)\n",
@@ -298,7 +306,7 @@ static void hdmi_connector_destroy(struct drm_connector *connector)
 
        hdp_disable(hdmi_connector);
 
-       drm_sysfs_connector_remove(connector);
+       drm_connector_unregister(connector);
        drm_connector_cleanup(connector);
 
        hdmi_unreference(hdmi_connector->hdmi);
@@ -408,7 +416,7 @@ struct drm_connector *hdmi_connector_init(struct hdmi *hdmi)
        connector->interlace_allowed = 1;
        connector->doublescan_allowed = 0;
 
-       drm_sysfs_connector_add(connector);
+       drm_connector_register(connector);
 
        ret = hpd_enable(hdmi_connector);
        if (ret) {