diff mbox series

cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update

Message ID 20181001035143.30670-1-natechancellor@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show
Series cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update | expand

Commit Message

Nathan Chancellor Oct. 1, 2018, 3:51 a.m. UTC
Clang warns when one enumerated type is implicitly converted to another.

drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c:303:7: warning: implicit
conversion from enumeration type 'enum cxgb4_dcb_state' to different
enumeration type 'enum cxgb4_dcb_state_input' [-Wenum-conversion]
                         ? CXGB4_DCB_STATE_FW_ALLSYNCED
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c:304:7: warning: implicit
conversion from enumeration type 'enum cxgb4_dcb_state' to different
enumeration type 'enum cxgb4_dcb_state_input' [-Wenum-conversion]
                         : CXGB4_DCB_STATE_FW_INCOMPLETE);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.

Use the equivalent value of the expected type to silence Clang while
resulting in no functional change.

CXGB4_DCB_STATE_FW_INCOMPLETE = CXGB4_DCB_INPUT_FW_INCOMPLETE = 2
CXGB4_DCB_STATE_FW_ALLSYNCED = CXGB4_DCB_INPUT_FW_ALLSYNCED = 3

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Nick Desaulniers Oct. 2, 2018, 10:54 p.m. UTC | #1
On Sun, Sep 30, 2018 at 8:54 PM Nathan Chancellor
<natechancellor@gmail.com> wrote:
>
> Clang warns when one enumerated type is implicitly converted to another.
>
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c:303:7: warning: implicit
> conversion from enumeration type 'enum cxgb4_dcb_state' to different
> enumeration type 'enum cxgb4_dcb_state_input' [-Wenum-conversion]
>                          ? CXGB4_DCB_STATE_FW_ALLSYNCED
>                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c:304:7: warning: implicit
> conversion from enumeration type 'enum cxgb4_dcb_state' to different
> enumeration type 'enum cxgb4_dcb_state_input' [-Wenum-conversion]
>                          : CXGB4_DCB_STATE_FW_INCOMPLETE);
>                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings generated.
>
> Use the equivalent value of the expected type to silence Clang while
> resulting in no functional change.
>
> CXGB4_DCB_STATE_FW_INCOMPLETE = CXGB4_DCB_INPUT_FW_INCOMPLETE = 2
> CXGB4_DCB_STATE_FW_ALLSYNCED = CXGB4_DCB_INPUT_FW_ALLSYNCED = 3

Yep looks good.  There's not too many users of cxgb4_dcb_state_input
in the kernel.  I wonder if it could even be replaced entirely with
cxgb4_dcb_state?  But for now this patch fixes the warning correctly.
Thanks for sending it.
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

Looks like this was the second case of this warning in this code (I
thought I was having Deja Vu; that I had already reviewed this patch
earlier): https://lkml.org/lkml/2018/10/1/255 Probably could have been
a single patch, but that's ok.

>
> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> ---
>  drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
> index 6ba3104ff7eb..9bd5f755a0e0 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
> @@ -300,8 +300,8 @@ void cxgb4_dcb_handle_fw_update(struct adapter *adap,
>                 enum cxgb4_dcb_state_input input =
>                         ((pcmd->u.dcb.control.all_syncd_pkd &
>                           FW_PORT_CMD_ALL_SYNCD_F)
> -                        ? CXGB4_DCB_STATE_FW_ALLSYNCED
> -                        : CXGB4_DCB_STATE_FW_INCOMPLETE);
> +                        ? CXGB4_DCB_INPUT_FW_ALLSYNCED
> +                        : CXGB4_DCB_INPUT_FW_INCOMPLETE);
>
>                 if (dcb->dcb_version != FW_PORT_DCB_VER_UNKNOWN) {
>                         dcb_running_version = FW_PORT_CMD_DCB_VERSION_G(
> --
> 2.19.0
>
David Miller Oct. 3, 2018, 5:31 a.m. UTC | #2
From: Nathan Chancellor <natechancellor@gmail.com>
Date: Sun, 30 Sep 2018 20:51:43 -0700

> Clang warns when one enumerated type is implicitly converted to another.
> 
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c:303:7: warning: implicit
> conversion from enumeration type 'enum cxgb4_dcb_state' to different
> enumeration type 'enum cxgb4_dcb_state_input' [-Wenum-conversion]
>                          ? CXGB4_DCB_STATE_FW_ALLSYNCED
>                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c:304:7: warning: implicit
> conversion from enumeration type 'enum cxgb4_dcb_state' to different
> enumeration type 'enum cxgb4_dcb_state_input' [-Wenum-conversion]
>                          : CXGB4_DCB_STATE_FW_INCOMPLETE);
>                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings generated.
> 
> Use the equivalent value of the expected type to silence Clang while
> resulting in no functional change.
> 
> CXGB4_DCB_STATE_FW_INCOMPLETE = CXGB4_DCB_INPUT_FW_INCOMPLETE = 2
> CXGB4_DCB_STATE_FW_ALLSYNCED = CXGB4_DCB_INPUT_FW_ALLSYNCED = 3
> 
> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Applied to net-next.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
index 6ba3104ff7eb..9bd5f755a0e0 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
@@ -300,8 +300,8 @@  void cxgb4_dcb_handle_fw_update(struct adapter *adap,
 		enum cxgb4_dcb_state_input input =
 			((pcmd->u.dcb.control.all_syncd_pkd &
 			  FW_PORT_CMD_ALL_SYNCD_F)
-			 ? CXGB4_DCB_STATE_FW_ALLSYNCED
-			 : CXGB4_DCB_STATE_FW_INCOMPLETE);
+			 ? CXGB4_DCB_INPUT_FW_ALLSYNCED
+			 : CXGB4_DCB_INPUT_FW_INCOMPLETE);
 
 		if (dcb->dcb_version != FW_PORT_DCB_VER_UNKNOWN) {
 			dcb_running_version = FW_PORT_CMD_DCB_VERSION_G(