2017-08-07 06:27:00

by Stefan Agner

[permalink] [raw]
Subject: [PATCH] drm/atmel-hlcdc: remove unnecessary if statement

The statement always evaluates to true since the struct fields
are arrays. This has shown up as a warning when compiling with
clang:
warning: address of array 'desc->layout.xstride' will always
evaluate to 'true' [-Wpointer-bool-conversion]

Signed-off-by: Stefan Agner <[email protected]>
---
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 1124200bb280..9bd8c4888035 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -854,24 +854,21 @@ static int atmel_hlcdc_plane_init_properties(struct atmel_hlcdc_plane *plane,
struct atmel_hlcdc_plane_properties *props)
{
const struct atmel_hlcdc_layer_desc *desc = plane->layer.desc;
+ int ret;

if (desc->type == ATMEL_HLCDC_OVERLAY_LAYER ||
desc->type == ATMEL_HLCDC_CURSOR_LAYER)
drm_object_attach_property(&plane->base.base,
props->alpha, 255);

- if (desc->layout.xstride && desc->layout.pstride) {
- int ret;
-
- ret = drm_plane_create_rotation_property(&plane->base,
- DRM_MODE_ROTATE_0,
- DRM_MODE_ROTATE_0 |
- DRM_MODE_ROTATE_90 |
- DRM_MODE_ROTATE_180 |
- DRM_MODE_ROTATE_270);
- if (ret)
- return ret;
- }
+ ret = drm_plane_create_rotation_property(&plane->base,
+ DRM_MODE_ROTATE_0,
+ DRM_MODE_ROTATE_0 |
+ DRM_MODE_ROTATE_90 |
+ DRM_MODE_ROTATE_180 |
+ DRM_MODE_ROTATE_270);
+ if (ret)
+ return ret;

if (desc->layout.csc) {
/*
--
2.13.3


2018-06-16 23:35:40

by Stefan Agner

[permalink] [raw]
Subject: Re: [PATCH] drm/atmel-hlcdc: remove unnecessary if statement

Boris, Maxime,

On 07.08.2017 08:26, Stefan Agner wrote:
> The statement always evaluates to true since the struct fields
> are arrays. This has shown up as a warning when compiling with
> clang:
> warning: address of array 'desc->layout.xstride' will always
> evaluate to 'true' [-Wpointer-bool-conversion]

It seems that this patch never made it upstream. It still produces a
warning when building with clang. Maybe you could have a look and queue?

--
Stefan

>
> Signed-off-by: Stefan Agner <[email protected]>
> ---
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 21 +++++++++------------
> 1 file changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> index 1124200bb280..9bd8c4888035 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> @@ -854,24 +854,21 @@ static int
> atmel_hlcdc_plane_init_properties(struct atmel_hlcdc_plane *plane,
> struct atmel_hlcdc_plane_properties *props)
> {
> const struct atmel_hlcdc_layer_desc *desc = plane->layer.desc;
> + int ret;
>
> if (desc->type == ATMEL_HLCDC_OVERLAY_LAYER ||
> desc->type == ATMEL_HLCDC_CURSOR_LAYER)
> drm_object_attach_property(&plane->base.base,
> props->alpha, 255);
>
> - if (desc->layout.xstride && desc->layout.pstride) {
> - int ret;
> -
> - ret = drm_plane_create_rotation_property(&plane->base,
> - DRM_MODE_ROTATE_0,
> - DRM_MODE_ROTATE_0 |
> - DRM_MODE_ROTATE_90 |
> - DRM_MODE_ROTATE_180 |
> - DRM_MODE_ROTATE_270);
> - if (ret)
> - return ret;
> - }
> + ret = drm_plane_create_rotation_property(&plane->base,
> + DRM_MODE_ROTATE_0,
> + DRM_MODE_ROTATE_0 |
> + DRM_MODE_ROTATE_90 |
> + DRM_MODE_ROTATE_180 |
> + DRM_MODE_ROTATE_270);
> + if (ret)
> + return ret;
>
> if (desc->layout.csc) {
> /*

2018-06-17 07:51:27

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] drm/atmel-hlcdc: remove unnecessary if statement

On Sun, 17 Jun 2018 01:34:34 +0200
Stefan Agner <[email protected]> wrote:

> Boris, Maxime,
>
> On 07.08.2017 08:26, Stefan Agner wrote:
> > The statement always evaluates to true since the struct fields
> > are arrays. This has shown up as a warning when compiling with
> > clang:
> > warning: address of array 'desc->layout.xstride' will always
> > evaluate to 'true' [-Wpointer-bool-conversion]
>
> It seems that this patch never made it upstream. It still produces a
> warning when building with clang. Maybe you could have a look and queue?

Oops, sorry, I missed that one.

>
> --
> Stefan
>
> >
> > Signed-off-by: Stefan Agner <[email protected]>
> > ---
> > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 21 +++++++++------------
> > 1 file changed, 9 insertions(+), 12 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> > b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> > index 1124200bb280..9bd8c4888035 100644
> > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> > @@ -854,24 +854,21 @@ static int
> > atmel_hlcdc_plane_init_properties(struct atmel_hlcdc_plane *plane,
> > struct atmel_hlcdc_plane_properties *props)
> > {
> > const struct atmel_hlcdc_layer_desc *desc = plane->layer.desc;
> > + int ret;
> >
> > if (desc->type == ATMEL_HLCDC_OVERLAY_LAYER ||
> > desc->type == ATMEL_HLCDC_CURSOR_LAYER)
> > drm_object_attach_property(&plane->base.base,
> > props->alpha, 255);
> >
> > - if (desc->layout.xstride && desc->layout.pstride) {

The test should be

if (desc->layout.xstride[0] && desc->layout.pstride[0])

Can you send a new version with this change?

> > - int ret;
> > -
> > - ret = drm_plane_create_rotation_property(&plane->base,
> > - DRM_MODE_ROTATE_0,
> > - DRM_MODE_ROTATE_0 |
> > - DRM_MODE_ROTATE_90 |
> > - DRM_MODE_ROTATE_180 |
> > - DRM_MODE_ROTATE_270);
> > - if (ret)
> > - return ret;
> > - }
> > + ret = drm_plane_create_rotation_property(&plane->base,
> > + DRM_MODE_ROTATE_0,
> > + DRM_MODE_ROTATE_0 |
> > + DRM_MODE_ROTATE_90 |
> > + DRM_MODE_ROTATE_180 |
> > + DRM_MODE_ROTATE_270);
> > + if (ret)
> > + return ret;
> >
> > if (desc->layout.csc) {
> > /*