mutex_lock(&dpi->lock);
 
-       if (!out->dispc_channel_connected) {
-               DSSERR("failed to enable display: no output/manager\n");
-               r = -ENODEV;
-               goto err_no_out_mgr;
-       }
-
        if (dpi->vdds_dsi_reg) {
                r = regulator_enable(dpi->vdds_dsi_reg);
                if (r)
        if (dpi->vdds_dsi_reg)
                regulator_disable(dpi->vdds_dsi_reg);
 err_reg_enable:
-err_no_out_mgr:
        mutex_unlock(&dpi->lock);
        return r;
 }
                       struct omap_dss_device *dst)
 {
        struct dpi_data *dpi = dpi_get_data_from_dssdev(dst);
-       int r;
 
        dpi_init_pll(dpi);
 
-       r = omapdss_device_connect(dst->dss, dst, dst->next);
-       if (r)
-               return r;
-
-       dst->dispc_channel_connected = true;
-       return 0;
+       return omapdss_device_connect(dst->dss, dst, dst->next);
 }
 
 static void dpi_disconnect(struct omap_dss_device *src,
                           struct omap_dss_device *dst)
 {
-       dst->dispc_channel_connected = false;
-
        omapdss_device_disconnect(dst, dst->next);
 }
 
 
 {
        struct dsi_data *dsi = to_dsi_data(dssdev);
        int bpp = dsi_get_pixel_size(dsi->pix_fmt);
-       struct omap_dss_device *out = &dsi->output;
        u8 data_type;
        u16 word_count;
        int r;
 
-       if (!out->dispc_channel_connected) {
-               DSSERR("failed to enable display: no output/manager\n");
-               return -ENODEV;
-       }
-
        r = dsi_display_init_dispc(dsi);
        if (r)
-               goto err_init_dispc;
+               return r;
 
        if (dsi->mode == OMAP_DSS_DSI_VIDEO_MODE) {
                switch (dsi->pix_fmt) {
        }
 err_pix_fmt:
        dsi_display_uninit_dispc(dsi);
-err_init_dispc:
        return r;
 }
 
 static int dsi_connect(struct omap_dss_device *src,
                       struct omap_dss_device *dst)
 {
-       int r;
-
-       r = omapdss_device_connect(dst->dss, dst, dst->next);
-       if (r)
-               return r;
-
-       dst->dispc_channel_connected = true;
-       return 0;
+       return omapdss_device_connect(dst->dss, dst, dst->next);
 }
 
 static void dsi_disconnect(struct omap_dss_device *src,
                           struct omap_dss_device *dst)
 {
-       dst->dispc_channel_connected = false;
-
        omapdss_device_disconnect(dst, dst->next);
 }
 
 
 
        mutex_lock(&hdmi->lock);
 
-       if (!dssdev->dispc_channel_connected) {
-               DSSERR("failed to enable display: no output/manager\n");
-               r = -ENODEV;
-               goto err0;
-       }
-
        r = hdmi_power_on_full(hdmi);
        if (r) {
                DSSERR("failed to power on device\n");
 static int hdmi_connect(struct omap_dss_device *src,
                        struct omap_dss_device *dst)
 {
-       int r;
-
-       r = omapdss_device_connect(dst->dss, dst, dst->next);
-       if (r)
-               return r;
-
-       dst->dispc_channel_connected = true;
-       return 0;
+       return omapdss_device_connect(dst->dss, dst, dst->next);
 }
 
 static void hdmi_disconnect(struct omap_dss_device *src,
                            struct omap_dss_device *dst)
 {
-       dst->dispc_channel_connected = false;
-
        omapdss_device_disconnect(dst, dst->next);
 }
 
 
 
        mutex_lock(&hdmi->lock);
 
-       if (!dssdev->dispc_channel_connected) {
-               DSSERR("failed to enable display: no output/manager\n");
-               r = -ENODEV;
-               goto err0;
-       }
-
        r = hdmi_power_on_full(hdmi);
        if (r) {
                DSSERR("failed to power on device\n");
 static int hdmi_connect(struct omap_dss_device *src,
                        struct omap_dss_device *dst)
 {
-       int r;
-
-       r = omapdss_device_connect(dst->dss, dst, dst->next);
-       if (r)
-               return r;
-
-       dst->dispc_channel_connected = true;
-       return 0;
+       return omapdss_device_connect(dst->dss, dst, dst->next);
 }
 
 static void hdmi_disconnect(struct omap_dss_device *src,
                            struct omap_dss_device *dst)
 {
-       dst->dispc_channel_connected = false;
-
        omapdss_device_disconnect(dst, dst->next);
 }
 
 
 
        /* DISPC channel for this output */
        enum omap_channel dispc_channel;
-       bool dispc_channel_connected;
 
        /* output instance */
        enum omap_dss_output_id id;
 
        unsigned long fck;
        int r;
 
-       if (!sdi->output.dispc_channel_connected) {
-               DSSERR("failed to enable display: no output/manager\n");
-               return -ENODEV;
-       }
-
        r = regulator_enable(sdi->vdds_sdi_reg);
        if (r)
                goto err_reg_enable;
 static int sdi_connect(struct omap_dss_device *src,
                       struct omap_dss_device *dst)
 {
-       int r;
-
-       r = omapdss_device_connect(dst->dss, dst, dst->next);
-       if (r)
-               return r;
-
-       dst->dispc_channel_connected = true;
-       return 0;
+       return omapdss_device_connect(dst->dss, dst, dst->next);
 }
 
 static void sdi_disconnect(struct omap_dss_device *src,
                           struct omap_dss_device *dst)
 {
-       dst->dispc_channel_connected = false;
-
        omapdss_device_disconnect(dst, dst->next);
 }
 
 
 
        mutex_lock(&venc->venc_lock);
 
-       if (!dssdev->dispc_channel_connected) {
-               DSSERR("Failed to enable display: no output/manager\n");
-               r = -ENODEV;
-               goto err0;
-       }
-
        r = venc_power_on(venc);
        if (r)
                goto err0;
 static int venc_connect(struct omap_dss_device *src,
                        struct omap_dss_device *dst)
 {
-       int r;
-
-       r = omapdss_device_connect(dst->dss, dst, dst->next);
-       if (r)
-               return r;
-
-       dst->dispc_channel_connected = true;
-       return 0;
+       return omapdss_device_connect(dst->dss, dst, dst->next);
 }
 
 static void venc_disconnect(struct omap_dss_device *src,
                            struct omap_dss_device *dst)
 {
-       dst->dispc_channel_connected = false;
-
        omapdss_device_disconnect(dst, dst->next);
 }