Merge tag 'tilcdc-4.22' of https://github.com/jsarha/linux into drm-next
authorDave Airlie <airlied@redhat.com>
Thu, 10 Jan 2019 20:29:26 +0000 (06:29 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 10 Jan 2019 20:29:31 +0000 (06:29 +1000)
tilcdc pull request for Linux v4.22

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Jyri Sarha <jsarha@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/cdf82a00-4e40-20a6-cc7d-3278dc23473e@ti.com
drivers/gpu/drm/tilcdc/tilcdc_drv.c

index 3dac08b..337e86a 100644 (file)
@@ -183,6 +183,12 @@ static void tilcdc_fini(struct drm_device *dev)
 {
        struct tilcdc_drm_private *priv = dev->dev_private;
 
+#ifdef CONFIG_CPU_FREQ
+       if (priv->freq_transition.notifier_call)
+               cpufreq_unregister_notifier(&priv->freq_transition,
+                                           CPUFREQ_TRANSITION_NOTIFIER);
+#endif
+
        if (priv->crtc)
                tilcdc_crtc_shutdown(priv->crtc);
 
@@ -194,12 +200,6 @@ static void tilcdc_fini(struct drm_device *dev)
        drm_mode_config_cleanup(dev);
        tilcdc_remove_external_device(dev);
 
-#ifdef CONFIG_CPU_FREQ
-       if (priv->freq_transition.notifier_call)
-               cpufreq_unregister_notifier(&priv->freq_transition,
-                                           CPUFREQ_TRANSITION_NOTIFIER);
-#endif
-
        if (priv->clk)
                clk_put(priv->clk);
 
@@ -270,17 +270,6 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev)
                goto init_failed;
        }
 
-#ifdef CONFIG_CPU_FREQ
-       priv->freq_transition.notifier_call = cpufreq_transition;
-       ret = cpufreq_register_notifier(&priv->freq_transition,
-                       CPUFREQ_TRANSITION_NOTIFIER);
-       if (ret) {
-               dev_err(dev, "failed to register cpufreq notifier\n");
-               priv->freq_transition.notifier_call = NULL;
-               goto init_failed;
-       }
-#endif
-
        if (of_property_read_u32(node, "max-bandwidth", &priv->max_bandwidth))
                priv->max_bandwidth = TILCDC_DEFAULT_MAX_BANDWIDTH;
 
@@ -357,6 +346,17 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev)
        }
        modeset_init(ddev);
 
+#ifdef CONFIG_CPU_FREQ
+       priv->freq_transition.notifier_call = cpufreq_transition;
+       ret = cpufreq_register_notifier(&priv->freq_transition,
+                       CPUFREQ_TRANSITION_NOTIFIER);
+       if (ret) {
+               dev_err(dev, "failed to register cpufreq notifier\n");
+               priv->freq_transition.notifier_call = NULL;
+               goto init_failed;
+       }
+#endif
+
        if (priv->is_componentized) {
                ret = component_bind_all(dev, ddev);
                if (ret < 0)