{
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        src->ops->disable(src);
 }
 
 
        omapdss_device_unregister(&ddata->dssdev);
 
-       tvc_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               tvc_disable(dssdev);
 
        return 0;
 }
 
 {
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        src->ops->disable(src);
 }
 
 
        omapdss_device_unregister(&ddata->dssdev);
 
-       dvic_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               dvic_disable(dssdev);
 
        i2c_put_adapter(ddata->i2c_adapter);
 
 
 {
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        src->ops->disable(src);
 }
 
 
        omapdss_device_unregister(&ddata->dssdev);
 
-       hdmic_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               hdmic_disable(dssdev);
 
        return 0;
 }
 
 
        dev_dbg(dssdev->dev, "enable\n");
 
-       if (omapdss_device_is_enabled(dssdev))
-               return 0;
-
        r = src->ops->enable(src);
        if (r)
                return r;
 
        dev_dbg(dssdev->dev, "disable\n");
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        if (ddata->enable_gpio)
                gpiod_set_value_cansleep(ddata->enable_gpio, 0);
 
 
        struct omap_dss_device *src = dssdev->src;
        int r;
 
-       if (omapdss_device_is_enabled(dssdev))
-               return 0;
-
        r = src->ops->enable(src);
        if (r)
                return r;
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        if (ddata->pd_gpio)
                gpiod_set_value_cansleep(ddata->pd_gpio, 0);
 
 
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        backlight_disable(ddata->backlight);
 
        gpiod_set_value_cansleep(ddata->enable_gpio, 0);
 
        omapdss_device_unregister(dssdev);
 
-       panel_dpi_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               panel_dpi_disable(dssdev);
 
        return 0;
 }
 
 
        src->ops->dsi.bus_lock(src);
 
-       if (omapdss_device_is_enabled(dssdev)) {
-               r = dsicm_wake_up(ddata);
-               if (!r)
-                       dsicm_power_off(ddata);
-       }
+       r = dsicm_wake_up(ddata);
+       if (!r)
+               dsicm_power_off(ddata);
 
        src->ops->dsi.bus_unlock(src);
 
 
        omapdss_device_unregister(dssdev);
 
-       dsicm_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               dsicm_disable(dssdev);
        omapdss_device_disconnect(dssdev->src, dssdev);
 
        sysfs_remove_group(&pdev->dev.kobj, &dsicm_attr_group);
 
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        if (ddata->enable_gpio)
                gpiod_set_value_cansleep(ddata->enable_gpio, 0);
 
 
        omapdss_device_unregister(dssdev);
 
-       lb035q02_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               lb035q02_disable(dssdev);
 
        return 0;
 }
 
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        gpiod_set_value_cansleep(ddata->res_gpio, 0);
 
        src->ops->disable(src);
 
        omapdss_device_unregister(dssdev);
 
-       nec_8048_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               nec_8048_disable(dssdev);
 
        return 0;
 }
 
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        if (ddata->ini_gpio)
                gpiod_set_value_cansleep(ddata->ini_gpio, 0);
 
 
        omapdss_device_unregister(dssdev);
 
-       sharp_ls_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               sharp_ls_disable(dssdev);
 
        return 0;
 }
 
 {
        struct panel_drv_data *ddata = to_panel_data(dssdev);
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        mutex_lock(&ddata->mutex);
        acx565akm_panel_power_off(dssdev);
        mutex_unlock(&ddata->mutex);
 
        omapdss_device_unregister(dssdev);
 
-       acx565akm_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               acx565akm_disable(dssdev);
 
        return 0;
 }
 
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        dev_dbg(dssdev->dev, "td028ttec1_panel_disable()\n");
 
        jbt_ret_write_0(ddata, JBT_REG_DISPLAY_OFF);
 
        omapdss_device_unregister(dssdev);
 
-       td028ttec1_panel_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               td028ttec1_panel_disable(dssdev);
 
        return 0;
 }
 
        struct panel_drv_data *ddata = to_panel_data(dssdev);
        struct omap_dss_device *src = dssdev->src;
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        src->ops->disable(src);
 
        if (!ddata->spi_suspended)
 
        omapdss_device_unregister(dssdev);
 
-       tpo_td043_disable(dssdev);
+       if (omapdss_device_is_enabled(dssdev))
+               tpo_td043_disable(dssdev);
 
        sysfs_remove_group(&spi->dev.kobj, &tpo_td043_attr_group);
 
 
 
        dev_dbg(dev->dev, "disable(%s)\n", dssdev->name);
 
-       if (!omapdss_device_is_enabled(dssdev))
-               return;
-
        dssdev->ops->disable(dssdev);
 
        dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
 
        dev_dbg(dev->dev, "enable(%s)\n", dssdev->name);
 
-       if (omapdss_device_is_enabled(dssdev))
-               return;
-
        r = dssdev->ops->enable(dssdev);
        if (r) {
                dev_err(dev->dev, "Failed to enable display '%s': %d\n",