2015-07-05 20:00:39

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH] GPU-DRM: Delete an unnecessary check before drm_property_unreference_blob()

From: Markus Elfring <[email protected]>
Date: Sun, 5 Jul 2015 21:55:10 +0200

The drm_property_unreference_blob() function tests whether its argument
is NULL and then returns immediately.
Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <[email protected]>
---
drivers/gpu/drm/drm_crtc.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 2d57fc5..6e4c8b0 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -4469,9 +4469,7 @@ static int drm_property_replace_global_blob(struct drm_device *dev,
goto err_created;
}

- if (old_blob)
- drm_property_unreference_blob(old_blob);
-
+ drm_property_unreference_blob(old_blob);
*replace = new_blob;

return 0;
--
2.4.5


2015-07-06 06:51:10

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] GPU-DRM: Delete an unnecessary check before drm_property_unreference_blob()

On Mon, Jul 06, 2015 at 10:01:52AM +0800, John Hunter wrote:
> On Mon, Jul 6, 2015 at 4:00 AM, SF Markus Elfring <
> [email protected]> wrote:
>
> > From: Markus Elfring <[email protected]>
> > Date: Sun, 5 Jul 2015 21:55:10 +0200
> >
> > The drm_property_unreference_blob() function tests whether its argument
> > is NULL and then returns immediately.
> > Thus the test around the call is not needed.
> >
> > This issue was detected by using the Coccinelle software.
> >
> > Signed-off-by: Markus Elfring <[email protected]>
> >
>
> Reviewed-by: Zhao Junwang <[email protected]>

Applied to topic/drm-misc, thanks.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2015-11-06 11:13:14

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH] GPU-DRM: Delete unnecessary checks before drm_property_unreference_blob()

From: Markus Elfring <[email protected]>
Date: Fri, 6 Nov 2015 12:03:46 +0100

The drm_property_unreference_blob() function tests whether its argument
is NULL and then returns immediately.
Thus the tests around the calls are not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <[email protected]>
---
drivers/gpu/drm/drm_atomic.c | 9 +++------
drivers/gpu/drm/drm_atomic_helper.c | 5 ++---
2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 7bb3845..d65dc31 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -316,8 +316,7 @@ int drm_atomic_set_mode_for_crtc(struct drm_crtc_state *state,
if (mode && memcmp(&state->mode, mode, sizeof(*mode)) == 0)
return 0;

- if (state->mode_blob)
- drm_property_unreference_blob(state->mode_blob);
+ drm_property_unreference_blob(state->mode_blob);
state->mode_blob = NULL;

if (mode) {
@@ -363,8 +362,7 @@ int drm_atomic_set_mode_prop_for_crtc(struct drm_crtc_state *state,
if (blob == state->mode_blob)
return 0;

- if (state->mode_blob)
- drm_property_unreference_blob(state->mode_blob);
+ drm_property_unreference_blob(state->mode_blob);
state->mode_blob = NULL;

if (blob) {
@@ -419,8 +417,7 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
struct drm_property_blob *mode =
drm_property_lookup_blob(dev, val);
ret = drm_atomic_set_mode_prop_for_crtc(state, mode);
- if (mode)
- drm_property_unreference_blob(mode);
+ drm_property_unreference_blob(mode);
return ret;
}
else if (crtc->funcs->atomic_set_property)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 0c6f621..9870c70 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -2173,7 +2173,7 @@ EXPORT_SYMBOL(drm_atomic_helper_connector_dpms);
*/
void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc)
{
- if (crtc->state && crtc->state->mode_blob)
+ if (crtc->state)
drm_property_unreference_blob(crtc->state->mode_blob);
kfree(crtc->state);
crtc->state = kzalloc(sizeof(*crtc->state), GFP_KERNEL);
@@ -2241,8 +2241,7 @@ EXPORT_SYMBOL(drm_atomic_helper_crtc_duplicate_state);
void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
struct drm_crtc_state *state)
{
- if (state->mode_blob)
- drm_property_unreference_blob(state->mode_blob);
+ drm_property_unreference_blob(state->mode_blob);
}
EXPORT_SYMBOL(__drm_atomic_helper_crtc_destroy_state);

--
2.6.2

2015-11-16 14:04:33

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] GPU-DRM: Delete unnecessary checks before drm_property_unreference_blob()

On Fri, Nov 06, 2015 at 12:13:02PM +0100, SF Markus Elfring wrote:
> From: Markus Elfring <[email protected]>
> Date: Fri, 6 Nov 2015 12:03:46 +0100
>
> The drm_property_unreference_blob() function tests whether its argument
> is NULL and then returns immediately.
> Thus the tests around the calls are not needed.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <[email protected]>

Applied to drm-misc, thanks.
-Daniel

> ---
> drivers/gpu/drm/drm_atomic.c | 9 +++------
> drivers/gpu/drm/drm_atomic_helper.c | 5 ++---
> 2 files changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 7bb3845..d65dc31 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -316,8 +316,7 @@ int drm_atomic_set_mode_for_crtc(struct drm_crtc_state *state,
> if (mode && memcmp(&state->mode, mode, sizeof(*mode)) == 0)
> return 0;
>
> - if (state->mode_blob)
> - drm_property_unreference_blob(state->mode_blob);
> + drm_property_unreference_blob(state->mode_blob);
> state->mode_blob = NULL;
>
> if (mode) {
> @@ -363,8 +362,7 @@ int drm_atomic_set_mode_prop_for_crtc(struct drm_crtc_state *state,
> if (blob == state->mode_blob)
> return 0;
>
> - if (state->mode_blob)
> - drm_property_unreference_blob(state->mode_blob);
> + drm_property_unreference_blob(state->mode_blob);
> state->mode_blob = NULL;
>
> if (blob) {
> @@ -419,8 +417,7 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
> struct drm_property_blob *mode =
> drm_property_lookup_blob(dev, val);
> ret = drm_atomic_set_mode_prop_for_crtc(state, mode);
> - if (mode)
> - drm_property_unreference_blob(mode);
> + drm_property_unreference_blob(mode);
> return ret;
> }
> else if (crtc->funcs->atomic_set_property)
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 0c6f621..9870c70 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -2173,7 +2173,7 @@ EXPORT_SYMBOL(drm_atomic_helper_connector_dpms);
> */
> void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc)
> {
> - if (crtc->state && crtc->state->mode_blob)
> + if (crtc->state)
> drm_property_unreference_blob(crtc->state->mode_blob);
> kfree(crtc->state);
> crtc->state = kzalloc(sizeof(*crtc->state), GFP_KERNEL);
> @@ -2241,8 +2241,7 @@ EXPORT_SYMBOL(drm_atomic_helper_crtc_duplicate_state);
> void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
> struct drm_crtc_state *state)
> {
> - if (state->mode_blob)
> - drm_property_unreference_blob(state->mode_blob);
> + drm_property_unreference_blob(state->mode_blob);
> }
> EXPORT_SYMBOL(__drm_atomic_helper_crtc_destroy_state);
>
> --
> 2.6.2
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch