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 |
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 >
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 --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(
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(-)