2015-11-05 18:46:20

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH 0/2] [media] c8sectpfe: Deletion of a few unnecessary checks

From: Markus Elfring <[email protected]>
Date: Thu, 5 Nov 2015 19:39:32 +0100

Another update suggestion was taken into account after a patch was applied
from static source code analysis.

Markus Elfring (2):
Delete unnecessary checks before two function calls
Combine three checks into a single if block

drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

--
2.6.2


2015-11-05 18:50:11

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH 1/2] [media] c8sectpfe: Delete unnecessary checks before two function calls

From: Markus Elfring <[email protected]>
Date: Thu, 5 Nov 2015 18:55:19 +0100

The functions i2c_put_adapter() and module_put() test whether their
argument is NULL and then return immediately.
Thus the tests around their calls are not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <[email protected]>
---
drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
index 95223ab..07fd6d9 100644
--- a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
+++ b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
@@ -214,12 +214,11 @@ void c8sectpfe_tuner_unregister_frontend(struct c8sectpfe *c8sectpfe,
dvb_frontend_detach(tsin->frontend);
}

- if (tsin && tsin->i2c_adapter)
+ if (tsin)
i2c_put_adapter(tsin->i2c_adapter);

if (tsin && tsin->i2c_client) {
- if (tsin->i2c_client->dev.driver->owner)
- module_put(tsin->i2c_client->dev.driver->owner);
+ module_put(tsin->i2c_client->dev.driver->owner);
i2c_unregister_device(tsin->i2c_client);
}
}
--
2.6.2

2015-11-05 18:51:32

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH 2/2] [media] c8sectpfe: Combine three checks into a single if block

From: Markus Elfring <[email protected]>
Date: Thu, 5 Nov 2015 19:23:50 +0100

The variable "tsin" was checked three times in a loop iteration of the
c8sectpfe_tuner_unregister_frontend() function.
This implementation detail could be improved by the combination of the
involved statements into a single if block so that this variable will be
checked only once there.

Signed-off-by: Markus Elfring <[email protected]>
---
drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
index 07fd6d9..2dfbe8a 100644
--- a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
+++ b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
@@ -209,17 +209,18 @@ void c8sectpfe_tuner_unregister_frontend(struct c8sectpfe *c8sectpfe,

tsin = fei->channel_data[n];

- if (tsin && tsin->frontend) {
- dvb_unregister_frontend(tsin->frontend);
- dvb_frontend_detach(tsin->frontend);
- }
+ if (tsin) {
+ if (tsin->frontend) {
+ dvb_unregister_frontend(tsin->frontend);
+ dvb_frontend_detach(tsin->frontend);
+ }

- if (tsin)
i2c_put_adapter(tsin->i2c_adapter);

- if (tsin && tsin->i2c_client) {
- module_put(tsin->i2c_client->dev.driver->owner);
- i2c_unregister_device(tsin->i2c_client);
+ if (tsin->i2c_client) {
+ module_put(tsin->i2c_client->dev.driver->owner);
+ i2c_unregister_device(tsin->i2c_client);
+ }
}
}

--
2.6.2

2015-11-06 07:51:51

by Maxime Coquelin

[permalink] [raw]
Subject: Re: [PATCH 0/2] [media] c8sectpfe: Deletion of a few unnecessary checks

Hi Markus,

On 11/05/2015 07:45 PM, SF Markus Elfring wrote:
> From: Markus Elfring <[email protected]>
> Date: Thu, 5 Nov 2015 19:39:32 +0100
>
> Another update suggestion was taken into account after a patch was applied
> from static source code analysis.
>
> Markus Elfring (2):
> Delete unnecessary checks before two function calls
> Combine three checks into a single if block
>
> drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
For the series:
Acked-by: Maxime Coquelin <[email protected]>

Thanks!
Maxime

2015-11-06 10:09:49

by walter harms

[permalink] [raw]
Subject: Re: [PATCH 2/2] [media] c8sectpfe: Combine three checks into a single if block



Am 05.11.2015 19:50, schrieb SF Markus Elfring:
> From: Markus Elfring <[email protected]>
> Date: Thu, 5 Nov 2015 19:23:50 +0100
>
> The variable "tsin" was checked three times in a loop iteration of the
> c8sectpfe_tuner_unregister_frontend() function.
> This implementation detail could be improved by the combination of the
> involved statements into a single if block so that this variable will be
> checked only once there.
>
> Signed-off-by: Markus Elfring <[email protected]>
> ---
> drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
> index 07fd6d9..2dfbe8a 100644
> --- a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
> +++ b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c
> @@ -209,17 +209,18 @@ void c8sectpfe_tuner_unregister_frontend(struct c8sectpfe *c8sectpfe,
>
> tsin = fei->channel_data[n];


if you do "if (!tsin) continue ;"
you can save one indent level

re,
wh

>
> - if (tsin && tsin->frontend) {
> - dvb_unregister_frontend(tsin->frontend);
> - dvb_frontend_detach(tsin->frontend);
> - }
> + if (tsin) {
> + if (tsin->frontend) {
> + dvb_unregister_frontend(tsin->frontend);
> + dvb_frontend_detach(tsin->frontend);
> + }
>
> - if (tsin)
> i2c_put_adapter(tsin->i2c_adapter);
>
> - if (tsin && tsin->i2c_client) {
> - module_put(tsin->i2c_client->dev.driver->owner);
> - i2c_unregister_device(tsin->i2c_client);
> + if (tsin->i2c_client) {
> + module_put(tsin->i2c_client->dev.driver->owner);
> + i2c_unregister_device(tsin->i2c_client);
> + }
> }
> }
>