}
EXPORT_SYMBOL_GPL(omapdss_device_disconnect);
+enum omap_channel omapdss_device_get_dispc_channel(struct omap_dss_device *dssdev)
+{
+ while (dssdev->src)
+ dssdev = dssdev->src;
+
+ return dssdev->dispc_channel;
+}
+EXPORT_SYMBOL(omapdss_device_get_dispc_channel);
+
/* -----------------------------------------------------------------------------
* Components Handling
*/
struct omap_dss_device *dst);
void omapdss_device_disconnect(struct omap_dss_device *src,
struct omap_dss_device *dst);
+enum omap_channel omapdss_device_get_dispc_channel(struct omap_dss_device *dssdev);
int omap_dss_get_num_overlay_managers(void);
struct omap_dss_device *dssdev);
int omapdss_output_unset_device(struct omap_dss_device *out);
-struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev);
-
typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
}
EXPORT_SYMBOL(omapdss_output_unset_device);
-struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev)
-{
- while (dssdev->src)
- dssdev = dssdev->src;
-
- if (dssdev->id != 0)
- return omapdss_device_get(dssdev);
-
- return NULL;
-}
-EXPORT_SYMBOL(omapdss_find_output_from_display);
-
int dss_install_mgr_ops(struct dss_device *dss,
const struct dss_mgr_ops *mgr_ops,
struct omap_drm_private *priv)
struct drm_crtc *crtc = NULL;
struct omap_crtc *omap_crtc;
enum omap_channel channel;
- struct omap_dss_device *out;
int ret;
- out = omapdss_find_output_from_display(dssdev);
- channel = out->dispc_channel;
- omapdss_device_put(out);
+ channel = omapdss_device_get_dispc_channel(dssdev);
DBG("%s", channel_names[channel]);