This driver used to have its own implementation of connector_plug_all()
which actually was taken as a prototype of drm_connector_plug_all().

Now when drm_connector_plug_all() exists reusing it here.

And while at it getting rid of mutex in both plug() and unplug()
because they were moved to generic helper as well.

Signed-off-by: Alexey Brodkin <abrod...@synopsys.com>
Cc: Daniel Vetter <dan...@ffwll.ch>
Cc: David Airlie <airl...@linux.ie>
Cc: Boris Brezillon <boris.brezil...@free-electrons.com>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 39 ++--------------------------
 1 file changed, 2 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
index 3d8d164..ca19ef1 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
@@ -584,41 +584,6 @@ static void atmel_hlcdc_dc_unload(struct drm_device *dev)
        destroy_workqueue(dc->wq);
 }
 
-static int atmel_hlcdc_dc_connector_plug_all(struct drm_device *dev)
-{
-       struct drm_connector *connector, *failed;
-       int ret;
-
-       mutex_lock(&dev->mode_config.mutex);
-       list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-               ret = drm_connector_register(connector);
-               if (ret) {
-                       failed = connector;
-                       goto err;
-               }
-       }
-       mutex_unlock(&dev->mode_config.mutex);
-       return 0;
-
-err:
-       list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-               if (failed == connector)
-                       break;
-
-               drm_connector_unregister(connector);
-       }
-       mutex_unlock(&dev->mode_config.mutex);
-
-       return ret;
-}
-
-static void atmel_hlcdc_dc_connector_unplug_all(struct drm_device *dev)
-{
-       mutex_lock(&dev->mode_config.mutex);
-       drm_connector_unplug_all(dev);
-       mutex_unlock(&dev->mode_config.mutex);
-}
-
 static void atmel_hlcdc_dc_lastclose(struct drm_device *dev)
 {
        struct atmel_hlcdc_dc *dc = dev->dev_private;
@@ -736,7 +701,7 @@ static int atmel_hlcdc_dc_drm_probe(struct platform_device 
*pdev)
        if (ret)
                goto err_unload;
 
-       ret = atmel_hlcdc_dc_connector_plug_all(ddev);
+       ret = drm_connector_plug_all(ddev);
        if (ret)
                goto err_unregister;
 
@@ -758,7 +723,7 @@ static int atmel_hlcdc_dc_drm_remove(struct platform_device 
*pdev)
 {
        struct drm_device *ddev = platform_get_drvdata(pdev);
 
-       atmel_hlcdc_dc_connector_unplug_all(ddev);
+       drm_connector_unplug_all(ddev);
        drm_dev_unregister(ddev);
        atmel_hlcdc_dc_unload(ddev);
        drm_dev_unref(ddev);
-- 
2.5.0

Reply via email to