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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 27, 2020 at 03:06:00PM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> 
> 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 <colin.king@xxxxxxxxxxxxx>
> ---
>  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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux