summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i2c/tda998x_drv.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 088900d..9798d40 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1584,6 +1584,7 @@ const struct drm_connector_helper_funcs tda998x_connector_helper_funcs = {
static void tda998x_connector_destroy(struct drm_connector *connector)
{
+ drm_connector_unregister(connector);
drm_connector_cleanup(connector);
}
@@ -1655,10 +1656,16 @@ static int tda998x_bind(struct device *dev, struct device *master, void *data)
if (ret)
goto err_connector;
+ ret = drm_connector_register(&priv->connector);
+ if (ret)
+ goto err_sysfs;
+
drm_mode_connector_attach_encoder(&priv->connector, &priv->encoder);
return 0;
+err_sysfs:
+ drm_connector_cleanup(&priv->connector);
err_connector:
drm_encoder_cleanup(&priv->encoder);
err_encoder:
@@ -1671,6 +1678,7 @@ static void tda998x_unbind(struct device *dev, struct device *master,
{
struct tda998x_priv *priv = dev_get_drvdata(dev);
+ drm_connector_unregister(&priv->connector);
drm_connector_cleanup(&priv->connector);
drm_encoder_cleanup(&priv->encoder);
tda998x_destroy(priv);