[PATCH 1/2] drm: exynos: Perform initialization/cleanup at probe/remove time
Inki Dae
inki.dae at samsung.com
Mon Dec 19 06:32:34 UTC 2016
2016년 12월 18일 07:12에 Laurent Pinchart 이(가) 쓴 글:
> Hello Inki,
>
> On Saturday 17 Dec 2016 09:33:31 Inki Dae wrote:
>> HI,
>>
>> Thanks for patch. Reasonable to me and go to misc excepting below one thing.
>> Please check my comment.
>>
>> 2016-12-14 4:34 GMT+09:00 Laurent Pinchart:
>>> From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>>>
>>> The drm driver .load() operation is prone to race conditions as it
>>> initializes the driver after registering the device nodes. Its usage is
>>> deprecated, inline it in the probe function and call drm_dev_alloc() and
>>> drm_dev_register() explicitly.
>>>
>>> For consistency inline the .unload() handler in the remove function as
>>> well.
>>>
>>> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>>> ---
>>>
>>> drivers/gpu/drm/exynos/exynos_dp.c | 1 -
>>> drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 -
>>> drivers/gpu/drm/exynos/exynos_drm_drv.c | 245 ++++++++++++-------------
>>> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 -
>>> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 -
>>> drivers/gpu/drm/exynos/exynos_hdmi.c | 1 -
>>> 6 files changed, 127 insertions(+), 123 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_dp.c
>>> b/drivers/gpu/drm/exynos/exynos_dp.c index 528229faffe4..b839f065f4b3
>>> 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_dp.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_dp.c
>>> @@ -102,7 +102,6 @@ static int exynos_dp_bridge_attach(struct
>>> analogix_dp_plat_data *plat_data,>
>>> struct drm_encoder *encoder = &dp->encoder;
>>> int ret;
>>>
>>> - drm_connector_register(connector);
>>
>> You removed above function from encoder and connector drivers.Is
>> removing this required?
>> And is this related to this patch? If not so, it seems this change
>> should go to another patch with the reason to remove this function
>> call.
>
> When using the .load() callback, driver initialization is performed from
> drm_dev_register() after the DRM device gets registered with sysfs. With this
> patch driver initialization is moved before drm_dev_register(), and
> registering connectors manually would then trigger a WARN due to the sysfs
> parent not being registered yet.
>
> The connectors are registered by the DRM core (drm_modeset_register_all()
> called from drm_dev_register()), so there's no need to register them manually
> after drm_dev_register(), we can just drop that code.
>
Acked-by: Inki Dae <inki.dae at samsung.com>
Thanks,
Inki Dae
More information about the dri-devel
mailing list