All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/etnaviv: check for errors when enabling clocks
@ 2016-08-21 22:32 Fabio Estevam
  2016-08-21 22:32 ` [PATCH 2/3] drm/etnaviv: remove unneeded 'fail' label Fabio Estevam
  2016-08-21 22:32 ` [PATCH 3/3] drm/etnaviv: remove unneeded variable initialization Fabio Estevam
  0 siblings, 2 replies; 4+ messages in thread
From: Fabio Estevam @ 2016-08-21 22:32 UTC (permalink / raw)
  To: l.stach; +Cc: dri-devel, linux+etnaviv

clk_prepare_enable() may fail, so we should better check for its return
value and propagate it in the case of failure.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index 87ef341..efee7d47 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -872,12 +872,25 @@ int etnaviv_gpu_debugfs(struct etnaviv_gpu *gpu, struct seq_file *m)
  */
 static int enable_clk(struct etnaviv_gpu *gpu)
 {
-	if (gpu->clk_core)
-		clk_prepare_enable(gpu->clk_core);
-	if (gpu->clk_shader)
-		clk_prepare_enable(gpu->clk_shader);
+	int ret;
+
+	if (gpu->clk_core) {
+		ret = clk_prepare_enable(gpu->clk_core);
+		if (ret)
+			return ret;
+	}
+
+	if (gpu->clk_shader) {
+		ret = clk_prepare_enable(gpu->clk_shader);
+		if (ret)
+			goto disable_clk_core;
+	}
 
 	return 0;
+
+disable_clk_core:
+	clk_disable_unprepare(gpu->clk_core);
+	return ret;
 }
 
 static int disable_clk(struct etnaviv_gpu *gpu)
@@ -892,8 +905,13 @@ static int disable_clk(struct etnaviv_gpu *gpu)
 
 static int enable_axi(struct etnaviv_gpu *gpu)
 {
-	if (gpu->clk_bus)
-		clk_prepare_enable(gpu->clk_bus);
+	int ret;
+
+	if (gpu->clk_bus) {
+		ret = clk_prepare_enable(gpu->clk_bus);
+		if (ret)
+			return ret;
+	}
 
 	return 0;
 }
-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] drm/etnaviv: remove unneeded 'fail' label
  2016-08-21 22:32 [PATCH 1/3] drm/etnaviv: check for errors when enabling clocks Fabio Estevam
@ 2016-08-21 22:32 ` Fabio Estevam
  2016-08-21 22:32 ` [PATCH 3/3] drm/etnaviv: remove unneeded variable initialization Fabio Estevam
  1 sibling, 0 replies; 4+ messages in thread
From: Fabio Estevam @ 2016-08-21 22:32 UTC (permalink / raw)
  To: l.stach; +Cc: dri-devel, linux+etnaviv

In the etnaviv_gpu_platform_probe() error path the 'fail' label is
used to just return the error code.

This can be simplified by returning the error code immediately, so
get rid of the unneeded 'fail' label.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index efee7d47..d93eb8c 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1669,16 +1669,15 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
 	/* Get Interrupt: */
 	gpu->irq = platform_get_irq(pdev, 0);
 	if (gpu->irq < 0) {
-		err = gpu->irq;
-		dev_err(dev, "failed to get irq: %d\n", err);
-		goto fail;
+		dev_err(dev, "failed to get irq: %d\n", gpu->irq);
+		return gpu->irq;
 	}
 
 	err = devm_request_irq(&pdev->dev, gpu->irq, irq_handler, 0,
 			       dev_name(gpu->dev), gpu);
 	if (err) {
 		dev_err(dev, "failed to request IRQ%u: %d\n", gpu->irq, err);
-		goto fail;
+		return err;
 	}
 
 	/* Get Clocks: */
@@ -1712,13 +1711,10 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
 	err = component_add(&pdev->dev, &gpu_ops);
 	if (err < 0) {
 		dev_err(&pdev->dev, "failed to register component: %d\n", err);
-		goto fail;
+		return err;
 	}
 
 	return 0;
-
-fail:
-	return err;
 }
 
 static int etnaviv_gpu_platform_remove(struct platform_device *pdev)
-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] drm/etnaviv: remove unneeded variable initialization
  2016-08-21 22:32 [PATCH 1/3] drm/etnaviv: check for errors when enabling clocks Fabio Estevam
  2016-08-21 22:32 ` [PATCH 2/3] drm/etnaviv: remove unneeded 'fail' label Fabio Estevam
@ 2016-08-21 22:32 ` Fabio Estevam
  2016-08-22  9:29   ` Lucas Stach
  1 sibling, 1 reply; 4+ messages in thread
From: Fabio Estevam @ 2016-08-21 22:32 UTC (permalink / raw)
  To: l.stach; +Cc: dri-devel, linux+etnaviv

There is no need to initialize variable 'err' with 0 because it will
be properly assigned later on. 

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index d93eb8c..27f34f5 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1652,7 +1652,7 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct etnaviv_gpu *gpu;
-	int err = 0;
+	int err;
 
 	gpu = devm_kzalloc(dev, sizeof(*gpu), GFP_KERNEL);
 	if (!gpu)
-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 3/3] drm/etnaviv: remove unneeded variable initialization
  2016-08-21 22:32 ` [PATCH 3/3] drm/etnaviv: remove unneeded variable initialization Fabio Estevam
@ 2016-08-22  9:29   ` Lucas Stach
  0 siblings, 0 replies; 4+ messages in thread
From: Lucas Stach @ 2016-08-22  9:29 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: dri-devel, linux+etnaviv

Am Sonntag, den 21.08.2016, 19:32 -0300 schrieb Fabio Estevam:
> There is no need to initialize variable 'err' with 0 because it will
> be properly assigned later on. 
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> index d93eb8c..27f34f5 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> @@ -1652,7 +1652,7 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
>  {
>  	struct device *dev = &pdev->dev;
>  	struct etnaviv_gpu *gpu;
> -	int err = 0;
> +	int err;

This looks like churn to me, and I wouldn't take this patch if it would
stand on its own. But as it's part of the series and the other 2 patches
look good to me, I'll take the whole series.

Thanks,
Lucas

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-22  9:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-21 22:32 [PATCH 1/3] drm/etnaviv: check for errors when enabling clocks Fabio Estevam
2016-08-21 22:32 ` [PATCH 2/3] drm/etnaviv: remove unneeded 'fail' label Fabio Estevam
2016-08-21 22:32 ` [PATCH 3/3] drm/etnaviv: remove unneeded variable initialization Fabio Estevam
2016-08-22  9:29   ` Lucas Stach

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.