Re: [PATCH] drm: kirin: Revert change to add register connect helper functions

From: Daniel Vetter
Date: Thu Apr 09 2020 - 03:17:58 EST


On Thu, Apr 09, 2020 at 12:43:06AM +0000, John Stultz wrote:
> Daniel noted[1] that commit d606dc9a6323 ("drm: kirin: Add
> register connect helper functions in drm init") was unnecessary
> and incorrect, as drm_dev_register does register connectors for
> us.
>
> Thus, this patch reverts the change as suggested by Daniel.
>
> [1]: https://lore.kernel.org/lkml/CAKMK7uHr5U-pPsxdQ4MpfK5v8iLjphDFug_3VTiUAf06nhS=yQ@xxxxxxxxxxxxxx/
>
> Cc: Xu YiPing <xuyiping@xxxxxxxxxxxxx>
> Cc: Rongrong Zou <zourongrong@xxxxxxxxx>
> Cc: Xinliang Liu <xinliang.liu@xxxxxxxxxx>
> Cc: Xinwei Kong <kong.kongxinwei@xxxxxxxxxxxxx>
> Cc: Chen Feng <puck.chen@xxxxxxxxxxxxx>
> Cc: David Airlie <airlied@xxxxxxxx>
> Cc: Daniel Vetter <daniel@xxxxxxxx>
> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>

Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

Thanks for the quick fix!

Cheers, Daniel

> ---
> .../gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 -
> .../gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 43 -------------------
> .../gpu/drm/hisilicon/kirin/kirin_drm_drv.h | 1 -
> 3 files changed, 45 deletions(-)
>
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> index 86000127d4ee..c339e632522a 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> @@ -940,7 +940,6 @@ static struct drm_driver ade_driver = {
> };
>
> struct kirin_drm_data ade_driver_data = {
> - .register_connects = false,
> .num_planes = ADE_CH_NUM,
> .prim_plane = ADE_CH1,
> .channel_formats = channel_formats,
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> index d3145ae877d7..4349da3e2379 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> @@ -219,40 +219,6 @@ static int kirin_drm_kms_cleanup(struct drm_device *dev)
> return 0;
> }
>
> -static int kirin_drm_connectors_register(struct drm_device *dev)
> -{
> - struct drm_connector *connector;
> - struct drm_connector *failed_connector;
> - struct drm_connector_list_iter conn_iter;
> - int ret;
> -
> - mutex_lock(&dev->mode_config.mutex);
> - drm_connector_list_iter_begin(dev, &conn_iter);
> - drm_for_each_connector_iter(connector, &conn_iter) {
> - ret = drm_connector_register(connector);
> - if (ret) {
> - failed_connector = connector;
> - goto err;
> - }
> - }
> - drm_connector_list_iter_end(&conn_iter);
> - mutex_unlock(&dev->mode_config.mutex);
> -
> - return 0;
> -
> -err:
> - drm_connector_list_iter_begin(dev, &conn_iter);
> - drm_for_each_connector_iter(connector, &conn_iter) {
> - if (failed_connector == connector)
> - break;
> - drm_connector_unregister(connector);
> - }
> - drm_connector_list_iter_end(&conn_iter);
> - mutex_unlock(&dev->mode_config.mutex);
> -
> - return ret;
> -}
> -
> static int kirin_drm_bind(struct device *dev)
> {
> struct kirin_drm_data *driver_data;
> @@ -279,17 +245,8 @@ static int kirin_drm_bind(struct device *dev)
>
> drm_fbdev_generic_setup(drm_dev, 32);
>
> - /* connectors should be registered after drm device register */
> - if (driver_data->register_connects) {
> - ret = kirin_drm_connectors_register(drm_dev);
> - if (ret)
> - goto err_drm_dev_unregister;
> - }
> -
> return 0;
>
> -err_drm_dev_unregister:
> - drm_dev_unregister(drm_dev);
> err_kms_cleanup:
> kirin_drm_kms_cleanup(drm_dev);
> err_drm_dev_put:
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
> index 4d5c05a24065..dee8ec2f7f2e 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
> @@ -37,7 +37,6 @@ struct kirin_drm_data {
> u32 channel_formats_cnt;
> int config_max_width;
> int config_max_height;
> - bool register_connects;
> u32 num_planes;
> u32 prim_plane;
>
> --
> 2.17.1
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch