2014-11-19 14:30:32

by Julien CHAUVEAU

[permalink] [raw]
Subject: [PATCH] drm/tilcdc: add missing clk_put in tilcdc_unload()

We need to call clk_put on display clock, in the same way as functional clock.

Signed-off-by: Julien CHAUVEAU <[email protected]>
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 79a34cb..ccc1cdb 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -136,6 +136,9 @@ static int tilcdc_unload(struct drm_device *dev)
CPUFREQ_TRANSITION_NOTIFIER);
#endif

+ if (priv->disp_clk)
+ clk_put(priv->disp_clk);
+
if (priv->clk)
clk_put(priv->clk);

--
2.1.0


2014-11-19 14:32:49

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH] drm/tilcdc: add missing clk_put in tilcdc_unload()

On Wed, Nov 19, 2014 at 03:13:20PM +0100, Julien CHAUVEAU wrote:
> We need to call clk_put on display clock, in the same way as functional clock.
>
> Signed-off-by: Julien CHAUVEAU <[email protected]>
> ---
> drivers/gpu/drm/tilcdc/tilcdc_drv.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index 79a34cb..ccc1cdb 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -136,6 +136,9 @@ static int tilcdc_unload(struct drm_device *dev)
> CPUFREQ_TRANSITION_NOTIFIER);
> #endif
>
> + if (priv->disp_clk)
> + clk_put(priv->disp_clk);
> +
> if (priv->clk)
> clk_put(priv->clk);

we should actually remove the priv->$clk check. clk_put() is safe
against NULL pointers.

--
balbi


Attachments:
(No filename) (844.00 B)
signature.asc (819.00 B)
Digital signature
Download all attachments

2014-11-19 15:05:34

by Julien CHAUVEAU

[permalink] [raw]
Subject: [PATCH v2] drm/tilcdc: add missing clk_put in tilcdc_unload()

We need to call clk_put on display clock, in the same way as functional clock.
Also remove the check for priv->clk, since clk_put() is safe against NULL pointers.

Signed-off-by: Julien CHAUVEAU <[email protected]>
---
Changes since v1:
- remove the check for priv->clk, as suggested by Felipe Balbi

drivers/gpu/drm/tilcdc/tilcdc_drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 79a34cb..b0c9687 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -136,8 +136,8 @@ static int tilcdc_unload(struct drm_device *dev)
CPUFREQ_TRANSITION_NOTIFIER);
#endif

- if (priv->clk)
- clk_put(priv->clk);
+ clk_put(priv->disp_clk);
+ clk_put(priv->clk);

if (priv->mmio)
iounmap(priv->mmio);
--
2.1.0