Re: [PATCH 3/4 v2] drm: atmel_hldc - use generic drm_connector_register_all() helper

From: Boris Brezillon
Date: Mon Mar 21 2016 - 09:13:03 EST


On Mon, 21 Mar 2016 15:28:39 +0300
Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> wrote:

> This driver used to have its own implementation of connector_register_all()
> which actually was taken as a prototype of drm_connector_register_all().
>
> Now when drm_connector_register_all() exists reusing it here.
>
> And while at it replace atmel_hlcdc_dc_connector_unplug_all()
> with generic drm_connector_unregister_all().
>
> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
> Cc: Daniel Vetter <daniel@xxxxxxxx>
> Cc: David Airlie <airlied@xxxxxxxx>
> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>

Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>

> ---
>
> No changes v1 -> v2.
>
> 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..1c537e4 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_register_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_unregister_all(ddev);
> drm_dev_unregister(ddev);
> atmel_hlcdc_dc_unload(ddev);
> drm_dev_unref(ddev);



--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com