* [PATCH 38/51] drm/stm: Drop explicit drm_mode_config_cleanup call
[not found] <20200221210319.2245170-1-daniel.vetter@ffwll.ch>
@ 2020-02-21 21:03 ` Daniel Vetter
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2020-02-21 21:03 UTC (permalink / raw)
To: DRI Development
Cc: Maxime Coquelin, Daniel Vetter, Intel Graphics Development,
Philippe Cornu, Yannick Fertre, Laurent Pinchart,
Benjamin Gaignard, Daniel Vetter, Vincent Abriou, linux-stm32,
linux-arm-kernel, Alexandre Torgue
It's right above the drm_dev_put().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
Aside: Another driver with a bit much devm_kzalloc, which should
probably use drmm_kzalloc instead ...
v2: Explain why this cleanup is possible (Laurent).
Acked-by: Philippe Cornu <philippe.cornu@st•com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
Cc: Yannick Fertre <yannick.fertre@st•com>
Cc: Philippe Cornu <philippe.cornu@st•com>
Cc: Benjamin Gaignard <benjamin.gaignard@linaro•org>
Cc: Vincent Abriou <vincent.abriou@st•com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail•com>
Cc: Alexandre Torgue <alexandre.torgue@st•com>
Cc: linux-stm32@st-md-mailman•stormreply.com
Cc: linux-arm-kernel@lists•infradead.org
---
drivers/gpu/drm/stm/drv.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index ea9fcbdc68b3..5b374531dd8c 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -88,7 +88,9 @@ static int drv_load(struct drm_device *ddev)
ddev->dev_private = (void *)ldev;
- drm_mode_config_init(ddev);
+ ret = drm_mode_config_init(ddev);
+ if (ret)
+ return ret;
/*
* set max width and height as default value.
@@ -103,7 +105,7 @@ static int drv_load(struct drm_device *ddev)
ret = ltdc_load(ddev);
if (ret)
- goto err;
+ return ret;
drm_mode_config_reset(ddev);
drm_kms_helper_poll_init(ddev);
@@ -111,9 +113,6 @@ static int drv_load(struct drm_device *ddev)
platform_set_drvdata(pdev, ddev);
return 0;
-err:
- drm_mode_config_cleanup(ddev);
- return ret;
}
static void drv_unload(struct drm_device *ddev)
@@ -122,7 +121,6 @@ static void drv_unload(struct drm_device *ddev)
drm_kms_helper_poll_fini(ddev);
ltdc_unload(ddev);
- drm_mode_config_cleanup(ddev);
}
static __maybe_unused int drv_suspend(struct device *dev)
--
2.24.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 38/51] drm/stm: Drop explicit drm_mode_config_cleanup call
[not found] <20200227181522.2711142-1-daniel.vetter@ffwll.ch>
@ 2020-02-27 18:15 ` Daniel Vetter
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2020-02-27 18:15 UTC (permalink / raw)
To: DRI Development
Cc: Maxime Coquelin, Daniel Vetter, Intel Graphics Development,
Philippe Cornu, m.felsch, Yannick Fertre, Alexandre Torgue,
Laurent Pinchart, Benjamin Gaignard, Daniel Vetter,
Vincent Abriou, linux-stm32, linux-arm-kernel, l.stach
It's right above the drm_dev_put().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
Aside: Another driver with a bit much devm_kzalloc, which should
probably use drmm_kzalloc instead ...
v2: Explain why this cleanup is possible (Laurent).
Acked-by: Philippe Cornu <philippe.cornu@st•com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
Cc: Yannick Fertre <yannick.fertre@st•com>
Cc: Philippe Cornu <philippe.cornu@st•com>
Cc: Benjamin Gaignard <benjamin.gaignard@linaro•org>
Cc: Vincent Abriou <vincent.abriou@st•com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail•com>
Cc: Alexandre Torgue <alexandre.torgue@st•com>
Cc: linux-stm32@st-md-mailman•stormreply.com
Cc: linux-arm-kernel@lists•infradead.org
---
drivers/gpu/drm/stm/drv.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index ea9fcbdc68b3..5b374531dd8c 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -88,7 +88,9 @@ static int drv_load(struct drm_device *ddev)
ddev->dev_private = (void *)ldev;
- drm_mode_config_init(ddev);
+ ret = drm_mode_config_init(ddev);
+ if (ret)
+ return ret;
/*
* set max width and height as default value.
@@ -103,7 +105,7 @@ static int drv_load(struct drm_device *ddev)
ret = ltdc_load(ddev);
if (ret)
- goto err;
+ return ret;
drm_mode_config_reset(ddev);
drm_kms_helper_poll_init(ddev);
@@ -111,9 +113,6 @@ static int drv_load(struct drm_device *ddev)
platform_set_drvdata(pdev, ddev);
return 0;
-err:
- drm_mode_config_cleanup(ddev);
- return ret;
}
static void drv_unload(struct drm_device *ddev)
@@ -122,7 +121,6 @@ static void drv_unload(struct drm_device *ddev)
drm_kms_helper_poll_fini(ddev);
ltdc_unload(ddev);
- drm_mode_config_cleanup(ddev);
}
static __maybe_unused int drv_suspend(struct device *dev)
--
2.24.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 34/51] drm/meson: Drop explicit drm_mode_config_cleanup call
[not found] <20200302222631.3861340-1-daniel.vetter@ffwll.ch>
@ 2020-03-02 22:26 ` Daniel Vetter
2020-03-02 22:26 ` [PATCH 37/51] drm/rockchip: " Daniel Vetter
2020-03-02 22:26 ` [PATCH 38/51] drm/stm: " Daniel Vetter
2 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2020-03-02 22:26 UTC (permalink / raw)
To: DRI Development
Cc: Neil Armstrong, Daniel Vetter, Intel Graphics Development,
Laurent Pinchart, Thomas Zimmermann, Kevin Hilman, Daniel Vetter,
linux-amlogic, Sam Ravnborg, linux-arm-kernel
It's right above the drm_dev_put().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
Aside: This driver gets its devm_ stuff all wrong wrt drm_device and
anything hanging off that. Not the only one unfortunately.
v2: Explain why this cleanup is possible (Laurent).
v3: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
Cc: Sam Ravnborg <sam@ravnborg•org>
Cc: Thomas Zimmermann <tzimmermann@suse•de>
Reviewed-by: Neil Armstrong <narmstrong@baylibre•com> (v2)
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
Cc: Neil Armstrong <narmstrong@baylibre•com>
Cc: Kevin Hilman <khilman@baylibre•com>
Cc: linux-amlogic@lists•infradead.org
Cc: linux-arm-kernel@lists•infradead.org
---
drivers/gpu/drm/meson/meson_drv.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
index b5f5eb7b4bb9..6f29fab79952 100644
--- a/drivers/gpu/drm/meson/meson_drv.c
+++ b/drivers/gpu/drm/meson/meson_drv.c
@@ -284,7 +284,9 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
/* Remove early framebuffers (ie. simplefb) */
meson_remove_framebuffers();
- drm_mode_config_init(drm);
+ ret = drmm_mode_config_init(drm);
+ if (ret)
+ goto free_drm;
drm->mode_config.max_width = 3840;
drm->mode_config.max_height = 2160;
drm->mode_config.funcs = &meson_mode_config_funcs;
@@ -379,7 +381,6 @@ static void meson_drv_unbind(struct device *dev)
drm_dev_unregister(drm);
drm_irq_uninstall(drm);
drm_kms_helper_poll_fini(drm);
- drm_mode_config_cleanup(drm);
drm_dev_put(drm);
}
--
2.24.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 37/51] drm/rockchip: Drop explicit drm_mode_config_cleanup call
[not found] <20200302222631.3861340-1-daniel.vetter@ffwll.ch>
2020-03-02 22:26 ` [PATCH 34/51] drm/meson: Drop explicit drm_mode_config_cleanup call Daniel Vetter
@ 2020-03-02 22:26 ` Daniel Vetter
2020-03-07 8:38 ` Sam Ravnborg
2020-03-02 22:26 ` [PATCH 38/51] drm/stm: " Daniel Vetter
2 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2020-03-02 22:26 UTC (permalink / raw)
To: DRI Development
Cc: Heiko Stübner, Francesco Lavra, Daniel Vetter,
Intel Graphics Development, Sandy Huang, linux-rockchip,
Laurent Pinchart, Thomas Zimmermann, Daniel Vetter, Sam Ravnborg,
linux-arm-kernel
It's (almost, there's some iommu stuff without significance) right
above the drm_dev_put().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
Aside: Another driver with a bit much devm_kzalloc, which should
probably use drmm_kzalloc instead ...
v2: Explain why this cleanup is possible (Laurent).
v3: Jump out at the right label (Francesco)
v4: Try again, kbuild caught that I didn't build test this properly
...
v5: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
Cc: Sam Ravnborg <sam@ravnborg•org>
Cc: Thomas Zimmermann <tzimmermann@suse•de>
Cc: Francesco Lavra <francescolavra.fl@gmail•com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
Cc: Sandy Huang <hjc@rock-chips•com>
Cc: "Heiko Stübner" <heiko@sntech•de>
Cc: linux-arm-kernel@lists•infradead.org
Cc: linux-rockchip@lists•infradead.org
---
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 20ecb1508a22..0f3eb392fe39 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -135,14 +135,16 @@ static int rockchip_drm_bind(struct device *dev)
if (ret)
goto err_free;
- drm_mode_config_init(drm_dev);
+ ret = drmm_mode_config_init(drm_dev);
+ if (ret)
+ goto err_iommu_cleanup;
rockchip_drm_mode_config_init(drm_dev);
/* Try to bind all sub drivers. */
ret = component_bind_all(dev, drm_dev);
if (ret)
- goto err_mode_config_cleanup;
+ goto err_iommu_cleanup;
ret = drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc);
if (ret)
@@ -173,12 +175,9 @@ static int rockchip_drm_bind(struct device *dev)
rockchip_drm_fbdev_fini(drm_dev);
err_unbind_all:
component_unbind_all(dev, drm_dev);
-err_mode_config_cleanup:
- drm_mode_config_cleanup(drm_dev);
+err_iommu_cleanup:
rockchip_iommu_cleanup(drm_dev);
err_free:
- drm_dev->dev_private = NULL;
- dev_set_drvdata(dev, NULL);
drm_dev_put(drm_dev);
return ret;
}
@@ -194,11 +193,8 @@ static void rockchip_drm_unbind(struct device *dev)
drm_atomic_helper_shutdown(drm_dev);
component_unbind_all(dev, drm_dev);
- drm_mode_config_cleanup(drm_dev);
rockchip_iommu_cleanup(drm_dev);
- drm_dev->dev_private = NULL;
- dev_set_drvdata(dev, NULL);
drm_dev_put(drm_dev);
}
--
2.24.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 38/51] drm/stm: Drop explicit drm_mode_config_cleanup call
[not found] <20200302222631.3861340-1-daniel.vetter@ffwll.ch>
2020-03-02 22:26 ` [PATCH 34/51] drm/meson: Drop explicit drm_mode_config_cleanup call Daniel Vetter
2020-03-02 22:26 ` [PATCH 37/51] drm/rockchip: " Daniel Vetter
@ 2020-03-02 22:26 ` Daniel Vetter
2020-03-07 9:25 ` Sam Ravnborg
2 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2020-03-02 22:26 UTC (permalink / raw)
To: DRI Development
Cc: Maxime Coquelin, Vincent Abriou, Benjamin Gaignard, Daniel Vetter,
Intel Graphics Development, Philippe Cornu, Yannick Fertre,
Laurent Pinchart, Thomas Zimmermann, Daniel Vetter, Sam Ravnborg,
linux-stm32, linux-arm-kernel, Alexandre Torgue
It's right above the drm_dev_put().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
Aside: Another driver with a bit much devm_kzalloc, which should
probably use drmm_kzalloc instead ...
v2: Explain why this cleanup is possible (Laurent).
v3: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
Cc: Sam Ravnborg <sam@ravnborg•org>
Cc: Thomas Zimmermann <tzimmermann@suse•de>
Acked-by: Philippe Cornu <philippe.cornu@st•com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
Cc: Yannick Fertre <yannick.fertre@st•com>
Cc: Philippe Cornu <philippe.cornu@st•com>
Cc: Benjamin Gaignard <benjamin.gaignard@linaro•org>
Cc: Vincent Abriou <vincent.abriou@st•com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail•com>
Cc: Alexandre Torgue <alexandre.torgue@st•com>
Cc: linux-stm32@st-md-mailman•stormreply.com
Cc: linux-arm-kernel@lists•infradead.org
---
drivers/gpu/drm/stm/drv.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index ea9fcbdc68b3..0f85dd86cafa 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -88,7 +88,9 @@ static int drv_load(struct drm_device *ddev)
ddev->dev_private = (void *)ldev;
- drm_mode_config_init(ddev);
+ ret = drmm_mode_config_init(ddev);
+ if (ret)
+ return ret;
/*
* set max width and height as default value.
@@ -103,7 +105,7 @@ static int drv_load(struct drm_device *ddev)
ret = ltdc_load(ddev);
if (ret)
- goto err;
+ return ret;
drm_mode_config_reset(ddev);
drm_kms_helper_poll_init(ddev);
@@ -111,9 +113,6 @@ static int drv_load(struct drm_device *ddev)
platform_set_drvdata(pdev, ddev);
return 0;
-err:
- drm_mode_config_cleanup(ddev);
- return ret;
}
static void drv_unload(struct drm_device *ddev)
@@ -122,7 +121,6 @@ static void drv_unload(struct drm_device *ddev)
drm_kms_helper_poll_fini(ddev);
ltdc_unload(ddev);
- drm_mode_config_cleanup(ddev);
}
static __maybe_unused int drv_suspend(struct device *dev)
--
2.24.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 37/51] drm/rockchip: Drop explicit drm_mode_config_cleanup call
2020-03-02 22:26 ` [PATCH 37/51] drm/rockchip: " Daniel Vetter
@ 2020-03-07 8:38 ` Sam Ravnborg
0 siblings, 0 replies; 8+ messages in thread
From: Sam Ravnborg @ 2020-03-07 8:38 UTC (permalink / raw)
To: Daniel Vetter
Cc: Francesco Lavra, Intel Graphics Development, Sandy Huang,
DRI Development, linux-rockchip, Laurent Pinchart,
Thomas Zimmermann, Daniel Vetter, linux-arm-kernel
On Mon, Mar 02, 2020 at 11:26:17PM +0100, Daniel Vetter wrote:
> It's (almost, there's some iommu stuff without significance) right
> above the drm_dev_put().
>
> This is made possible by a preceeding patch which added a drmm_
> cleanup action to drm_mode_config_init(), hence all we need to do to
> ensure that drm_mode_config_cleanup() is run on final drm_device
> cleanup is check the new error code for _init().
>
> Aside: Another driver with a bit much devm_kzalloc, which should
> probably use drmm_kzalloc instead ...
>
> v2: Explain why this cleanup is possible (Laurent).
>
> v3: Jump out at the right label (Francesco)
>
> v4: Try again, kbuild caught that I didn't build test this properly
> ...
>
> v5: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
>
> Cc: Sam Ravnborg <sam@ravnborg•org>
> Cc: Thomas Zimmermann <tzimmermann@suse•de>
> Cc: Francesco Lavra <francescolavra.fl@gmail•com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
> Cc: Sandy Huang <hjc@rock-chips•com>
> Cc: "Heiko Stübner" <heiko@sntech•de>
> Cc: linux-arm-kernel@lists•infradead.org
> Cc: linux-rockchip@lists•infradead.org
Acked-by: Sam Ravnborg <sam@ravnborg•org>
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> index 20ecb1508a22..0f3eb392fe39 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> @@ -135,14 +135,16 @@ static int rockchip_drm_bind(struct device *dev)
> if (ret)
> goto err_free;
>
> - drm_mode_config_init(drm_dev);
> + ret = drmm_mode_config_init(drm_dev);
> + if (ret)
> + goto err_iommu_cleanup;
>
> rockchip_drm_mode_config_init(drm_dev);
>
> /* Try to bind all sub drivers. */
> ret = component_bind_all(dev, drm_dev);
> if (ret)
> - goto err_mode_config_cleanup;
> + goto err_iommu_cleanup;
>
> ret = drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc);
> if (ret)
> @@ -173,12 +175,9 @@ static int rockchip_drm_bind(struct device *dev)
> rockchip_drm_fbdev_fini(drm_dev);
> err_unbind_all:
> component_unbind_all(dev, drm_dev);
> -err_mode_config_cleanup:
> - drm_mode_config_cleanup(drm_dev);
> +err_iommu_cleanup:
> rockchip_iommu_cleanup(drm_dev);
> err_free:
> - drm_dev->dev_private = NULL;
> - dev_set_drvdata(dev, NULL);
> drm_dev_put(drm_dev);
> return ret;
> }
> @@ -194,11 +193,8 @@ static void rockchip_drm_unbind(struct device *dev)
>
> drm_atomic_helper_shutdown(drm_dev);
> component_unbind_all(dev, drm_dev);
> - drm_mode_config_cleanup(drm_dev);
> rockchip_iommu_cleanup(drm_dev);
>
> - drm_dev->dev_private = NULL;
> - dev_set_drvdata(dev, NULL);
> drm_dev_put(drm_dev);
> }
>
> --
> 2.24.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists•freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 38/51] drm/stm: Drop explicit drm_mode_config_cleanup call
2020-03-02 22:26 ` [PATCH 38/51] drm/stm: " Daniel Vetter
@ 2020-03-07 9:25 ` Sam Ravnborg
0 siblings, 0 replies; 8+ messages in thread
From: Sam Ravnborg @ 2020-03-07 9:25 UTC (permalink / raw)
To: Daniel Vetter
Cc: Thomas Zimmermann, Intel Graphics Development, Philippe Cornu,
DRI Development, Yannick Fertre, Laurent Pinchart,
Maxime Coquelin, Daniel Vetter, Vincent Abriou, linux-stm32,
linux-arm-kernel, Alexandre Torgue
On Mon, Mar 02, 2020 at 11:26:18PM +0100, Daniel Vetter wrote:
> It's right above the drm_dev_put().
>
> This is made possible by a preceeding patch which added a drmm_
> cleanup action to drm_mode_config_init(), hence all we need to do to
> ensure that drm_mode_config_cleanup() is run on final drm_device
> cleanup is check the new error code for _init().
>
> Aside: Another driver with a bit much devm_kzalloc, which should
> probably use drmm_kzalloc instead ...
>
> v2: Explain why this cleanup is possible (Laurent).
>
> v3: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
>
> Cc: Sam Ravnborg <sam@ravnborg•org>
> Cc: Thomas Zimmermann <tzimmermann@suse•de>
> Acked-by: Philippe Cornu <philippe.cornu@st•com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
> Cc: Yannick Fertre <yannick.fertre@st•com>
> Cc: Philippe Cornu <philippe.cornu@st•com>
> Cc: Benjamin Gaignard <benjamin.gaignard@linaro•org>
> Cc: Vincent Abriou <vincent.abriou@st•com>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail•com>
> Cc: Alexandre Torgue <alexandre.torgue@st•com>
> Cc: linux-stm32@st-md-mailman•stormreply.com
> Cc: linux-arm-kernel@lists•infradead.org
Acked-by: Sam Ravnborg <sam@ravnborg•org>
> ---
> drivers/gpu/drm/stm/drv.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
> index ea9fcbdc68b3..0f85dd86cafa 100644
> --- a/drivers/gpu/drm/stm/drv.c
> +++ b/drivers/gpu/drm/stm/drv.c
> @@ -88,7 +88,9 @@ static int drv_load(struct drm_device *ddev)
>
> ddev->dev_private = (void *)ldev;
>
> - drm_mode_config_init(ddev);
> + ret = drmm_mode_config_init(ddev);
> + if (ret)
> + return ret;
>
> /*
> * set max width and height as default value.
> @@ -103,7 +105,7 @@ static int drv_load(struct drm_device *ddev)
>
> ret = ltdc_load(ddev);
> if (ret)
> - goto err;
> + return ret;
>
> drm_mode_config_reset(ddev);
> drm_kms_helper_poll_init(ddev);
> @@ -111,9 +113,6 @@ static int drv_load(struct drm_device *ddev)
> platform_set_drvdata(pdev, ddev);
>
> return 0;
> -err:
> - drm_mode_config_cleanup(ddev);
> - return ret;
> }
>
> static void drv_unload(struct drm_device *ddev)
> @@ -122,7 +121,6 @@ static void drv_unload(struct drm_device *ddev)
>
> drm_kms_helper_poll_fini(ddev);
> ltdc_unload(ddev);
> - drm_mode_config_cleanup(ddev);
> }
>
> static __maybe_unused int drv_suspend(struct device *dev)
> --
> 2.24.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists•freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 38/51] drm/stm: Drop explicit drm_mode_config_cleanup call
[not found] <20200323144950.3018436-1-daniel.vetter@ffwll.ch>
@ 2020-03-23 14:49 ` Daniel Vetter
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2020-03-23 14:49 UTC (permalink / raw)
To: DRI Development
Cc: Maxime Coquelin, Vincent Abriou, Benjamin Gaignard, Daniel Vetter,
Intel Graphics Development, Philippe Cornu, Yannick Fertre,
Laurent Pinchart, Thomas Zimmermann, Daniel Vetter, Sam Ravnborg,
linux-stm32, linux-arm-kernel, Alexandre Torgue
It's right above the drm_dev_put().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
Aside: Another driver with a bit much devm_kzalloc, which should
probably use drmm_kzalloc instead ...
v2: Explain why this cleanup is possible (Laurent).
v3: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
Cc: Sam Ravnborg <sam@ravnborg•org>
Cc: Thomas Zimmermann <tzimmermann@suse•de>
Acked-by: Sam Ravnborg <sam@ravnborg•org>
Acked-by: Philippe Cornu <philippe.cornu@st•com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard•com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel•com>
Cc: Yannick Fertre <yannick.fertre@st•com>
Cc: Philippe Cornu <philippe.cornu@st•com>
Cc: Benjamin Gaignard <benjamin.gaignard@linaro•org>
Cc: Vincent Abriou <vincent.abriou@st•com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail•com>
Cc: Alexandre Torgue <alexandre.torgue@st•com>
Cc: linux-stm32@st-md-mailman•stormreply.com
Cc: linux-arm-kernel@lists•infradead.org
---
drivers/gpu/drm/stm/drv.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index ea9fcbdc68b3..0f85dd86cafa 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -88,7 +88,9 @@ static int drv_load(struct drm_device *ddev)
ddev->dev_private = (void *)ldev;
- drm_mode_config_init(ddev);
+ ret = drmm_mode_config_init(ddev);
+ if (ret)
+ return ret;
/*
* set max width and height as default value.
@@ -103,7 +105,7 @@ static int drv_load(struct drm_device *ddev)
ret = ltdc_load(ddev);
if (ret)
- goto err;
+ return ret;
drm_mode_config_reset(ddev);
drm_kms_helper_poll_init(ddev);
@@ -111,9 +113,6 @@ static int drv_load(struct drm_device *ddev)
platform_set_drvdata(pdev, ddev);
return 0;
-err:
- drm_mode_config_cleanup(ddev);
- return ret;
}
static void drv_unload(struct drm_device *ddev)
@@ -122,7 +121,6 @@ static void drv_unload(struct drm_device *ddev)
drm_kms_helper_poll_fini(ddev);
ltdc_unload(ddev);
- drm_mode_config_cleanup(ddev);
}
static __maybe_unused int drv_suspend(struct device *dev)
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-03-23 14:51 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20200302222631.3861340-1-daniel.vetter@ffwll.ch>
2020-03-02 22:26 ` [PATCH 34/51] drm/meson: Drop explicit drm_mode_config_cleanup call Daniel Vetter
2020-03-02 22:26 ` [PATCH 37/51] drm/rockchip: " Daniel Vetter
2020-03-07 8:38 ` Sam Ravnborg
2020-03-02 22:26 ` [PATCH 38/51] drm/stm: " Daniel Vetter
2020-03-07 9:25 ` Sam Ravnborg
[not found] <20200323144950.3018436-1-daniel.vetter@ffwll.ch>
2020-03-23 14:49 ` Daniel Vetter
[not found] <20200227181522.2711142-1-daniel.vetter@ffwll.ch>
2020-02-27 18:15 ` Daniel Vetter
[not found] <20200221210319.2245170-1-daniel.vetter@ffwll.ch>
2020-02-21 21:03 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox