RE: [PATCH] dpaa_eth: Remove unnecessary boolean expression in dpaa_get_headroom

From: Madalin Bucur (OSS)
Date: Wed Mar 11 2020 - 02:28:40 EST


> -----Original Message-----
> From: Nathan Chancellor <natechancellor@xxxxxxxxx>
> Sent: Wednesday, March 11, 2020 12:07 AM
> To: David S. Miller <davem@xxxxxxxxxxxxx>; Madalin Bucur
> <madalin.bucur@xxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; clang-built-
> linux@xxxxxxxxxxxxxxxx; Nathan Chancellor <natechancellor@xxxxxxxxx>
> Subject: [PATCH] dpaa_eth: Remove unnecessary boolean expression in
> dpaa_get_headroom
>
> Clang warns:
>
> drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:2860:9: warning:
> converting the result of '?:' with integer constants to a boolean always
> evaluates to 'true' [-Wtautological-constant-compare]
> return DPAA_FD_DATA_ALIGNMENT ? ALIGN(headroom,
> ^
> drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:131:34: note: expanded
> from macro 'DPAA_FD_DATA_ALIGNMENT'
> \#define DPAA_FD_DATA_ALIGNMENT (fman_has_errata_a050385() ? 64 : 16)
> ^
> 1 warning generated.
>
> This was exposed by commit 3c68b8fffb48 ("dpaa_eth: FMan erratum A050385
> workaround") even though it appears to have been an issue since the
> introductory commit 9ad1a3749333 ("dpaa_eth: add support for DPAA
> Ethernet") since DPAA_FD_DATA_ALIGNMENT has never been able to be zero.
>
> Just replace the whole boolean expression with the true branch, as it is
> always been true.
>
> Link:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c
> om%2FClangBuiltLinux%2Flinux%2Fissues%2F928&amp;data=02%7C01%7Cmadalin.buc
> ur%40nxp.com%7C53f37e7dbf584248844608d7c53f5f70%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637194748277007260&amp;sdata=GshtiHYyjvTcp87StdMoQDP5L6
> %2BhYN6nnUi6vbyuqic%3D&amp;reserved=0
> Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
> ---
> drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> index 190e4478128a..46039d80bb43 100644
> --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> @@ -2857,9 +2857,7 @@ static inline u16 dpaa_get_headroom(struct
> dpaa_buffer_layout *bl)
> headroom = (u16)(bl->priv_data_size + DPAA_PARSE_RESULTS_SIZE +
> DPAA_TIME_STAMP_SIZE + DPAA_HASH_RESULTS_SIZE);
>
> - return DPAA_FD_DATA_ALIGNMENT ? ALIGN(headroom,
> - DPAA_FD_DATA_ALIGNMENT) :
> - headroom;
> + return ALIGN(headroom, DPAA_FD_DATA_ALIGNMENT);
> }
>
> static int dpaa_eth_probe(struct platform_device *pdev)
> --
> 2.26.0.rc1

Reviewed-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxx>