diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c index 5cac6ee2447252ab04722838558dd34b7297dfc8..1f50acd5a9821b26add1d62a65fbee2242678d7a 100644 --- a/drivers/staging/imx-drm/imx-drm-core.c +++ b/drivers/staging/imx-drm/imx-drm-core.c @@ -363,6 +363,19 @@ static void imx_drm_connector_unregister( drm_mode_group_reinit(imxdrm->drm); } +void imx_drm_connector_destroy(struct drm_connector *connector) +{ + drm_sysfs_connector_remove(connector); + drm_connector_cleanup(connector); +} +EXPORT_SYMBOL_GPL(imx_drm_connector_destroy); + +void imx_drm_encoder_destroy(struct drm_encoder *encoder) +{ + drm_encoder_cleanup(encoder); +} +EXPORT_SYMBOL_GPL(imx_drm_encoder_destroy); + static struct drm_mode_config_funcs imx_drm_mode_config_funcs = { .fb_create = drm_fb_cma_create, }; diff --git a/drivers/staging/imx-drm/imx-drm.h b/drivers/staging/imx-drm/imx-drm.h index 49d4aaf33f9707c537646c3b39d47d76f46db87f..0543606c587a9c7b42fab340480665855eec9140 100644 --- a/drivers/staging/imx-drm/imx-drm.h +++ b/drivers/staging/imx-drm/imx-drm.h @@ -8,6 +8,7 @@ struct drm_crtc; struct drm_connector; struct drm_device; +struct drm_display_mode; struct drm_encoder; struct imx_drm_crtc; struct drm_fbdev_cma; @@ -69,5 +70,7 @@ int imx_drm_encoder_parse_of(struct drm_device *drm, int imx_drm_connector_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode); +void imx_drm_connector_destroy(struct drm_connector *connector); +void imx_drm_encoder_destroy(struct drm_encoder *encoder); #endif /* _IMX_DRM_H_ */