2020-07-27 14:07:08

by Colin King

[permalink] [raw]
Subject: [PATCH][next] counter: microchip-tcb-capture: remove ATMEL_TC_ETRGEDG_NONE bit check

From: Colin Ian King <[email protected]>

The macro ATMEL_TC_ETRGEDG_NONE is defined as 0 << 8 which is zero and
hence the check cmr & ATMEL_TC_ETRGEDG_NONE can never be true. Since
*action is already assigned MCHP_TC_SYNAPSE_ACTION_NONE then this check
and set is redundant dead code and can be removed.

Addresses-Coverity: ("Logically dead code")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/counter/microchip-tcb-capture.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/counter/microchip-tcb-capture.c b/drivers/counter/microchip-tcb-capture.c
index f7b7743ddb94..119640d6d6ab 100644
--- a/drivers/counter/microchip-tcb-capture.c
+++ b/drivers/counter/microchip-tcb-capture.c
@@ -185,9 +185,7 @@ static int mchp_tc_count_action_get(struct counter_device *counter,

*action = MCHP_TC_SYNAPSE_ACTION_NONE;

- if (cmr & ATMEL_TC_ETRGEDG_NONE)
- *action = MCHP_TC_SYNAPSE_ACTION_NONE;
- else if (cmr & ATMEL_TC_ETRGEDG_RISING)
+ if (cmr & ATMEL_TC_ETRGEDG_RISING)
*action = MCHP_TC_SYNAPSE_ACTION_RISING_EDGE;
else if (cmr & ATMEL_TC_ETRGEDG_FALLING)
*action = MCHP_TC_SYNAPSE_ACTION_FALLING_EDGE;
--
2.27.0


2020-07-27 15:15:34

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH][next] counter: microchip-tcb-capture: remove ATMEL_TC_ETRGEDG_NONE bit check

On Mon, Jul 27, 2020 at 03:06:00PM +0100, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The macro ATMEL_TC_ETRGEDG_NONE is defined as 0 << 8 which is zero and
> hence the check cmr & ATMEL_TC_ETRGEDG_NONE can never be true. Since
> *action is already assigned MCHP_TC_SYNAPSE_ACTION_NONE then this check
> and set is redundant dead code and can be removed.
>
> Addresses-Coverity: ("Logically dead code")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/counter/microchip-tcb-capture.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/counter/microchip-tcb-capture.c b/drivers/counter/microchip-tcb-capture.c
> index f7b7743ddb94..119640d6d6ab 100644
> --- a/drivers/counter/microchip-tcb-capture.c
> +++ b/drivers/counter/microchip-tcb-capture.c
> @@ -185,9 +185,7 @@ static int mchp_tc_count_action_get(struct counter_device *counter,
>
> *action = MCHP_TC_SYNAPSE_ACTION_NONE;
>
> - if (cmr & ATMEL_TC_ETRGEDG_NONE)
> - *action = MCHP_TC_SYNAPSE_ACTION_NONE;
> - else if (cmr & ATMEL_TC_ETRGEDG_RISING)
> + if (cmr & ATMEL_TC_ETRGEDG_RISING)
> *action = MCHP_TC_SYNAPSE_ACTION_RISING_EDGE;
> else if (cmr & ATMEL_TC_ETRGEDG_FALLING)
> *action = MCHP_TC_SYNAPSE_ACTION_FALLING_EDGE;
> --
> 2.27.0

The CMR value should be explictly checked for an ATMEL_TC_ETRGEDG_NONE
state; this code shouldn't default to a value, but rather return an
error if no valid can be determined.

I think this would be better implemented as a switch statement instead,
with a default case that returns such an error code.

William Breathitt Gray


Attachments:
(No filename) (1.63 kB)
signature.asc (849.00 B)
Download all attachments