Message ID | ZrDx4Jii7XfuOPfC@cute (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] ethtool: Avoid -Wflex-array-member-not-at-end warning | expand |
On Mon, Aug 05, 2024 at 09:38:08AM -0600, Gustavo A. R. Silva wrote: > -Wflex-array-member-not-at-end was introduced in GCC-14, and we are > getting ready to enable it, globally. > > Move the conflicting declaration to the end of the structure. Notice > that `struct ethtool_dump` is a flexible structure --a structure that > contains a flexible-array member. > > Fix the following warning: > ./drivers/net/ethernet/chelsio/cxgb4/cxgb4.h:1215:29: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end] > > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Simon Horman <horms@kernel.org>
On Wed, Aug 07, 2024 at 05:26:02PM +0100, Simon Horman wrote: > On Mon, Aug 05, 2024 at 09:38:08AM -0600, Gustavo A. R. Silva wrote: > > -Wflex-array-member-not-at-end was introduced in GCC-14, and we are > > getting ready to enable it, globally. > > > > Move the conflicting declaration to the end of the structure. Notice > > that `struct ethtool_dump` is a flexible structure --a structure that > > contains a flexible-array member. > > > > Fix the following warning: > > ./drivers/net/ethernet/chelsio/cxgb4/cxgb4.h:1215:29: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end] > > > > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> > > Reviewed-by: Simon Horman <horms@kernel.org> Sorry, one minor nit, after the fact. cxgb4 would probably be a better prefix than ethtool for this patch. But then it would conflict, by name, with - [PATCH] cxgb4: Avoid -Wflex-array-member-not-at-end warning https://lore.kernel.org/all/ZrD8vpfiYugd0cPQ@cute/
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h index fca9533bc011..996769857a12 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h @@ -1211,9 +1211,6 @@ struct adapter { struct timer_list flower_stats_timer; struct work_struct flower_stats_work; - /* Ethtool Dump */ - struct ethtool_dump eth_dump; - /* HMA */ struct hma_data hma; @@ -1233,6 +1230,10 @@ struct adapter { /* Ethtool n-tuple */ struct cxgb4_ethtool_filter *ethtool_filters; + + /* Ethtool Dump */ + /* Must be last - ends in a flex-array member. */ + struct ethtool_dump eth_dump; }; /* Support for "sched-class" command to allow a TX Scheduling Class to be
-Wflex-array-member-not-at-end was introduced in GCC-14, and we are getting ready to enable it, globally. Move the conflicting declaration to the end of the structure. Notice that `struct ethtool_dump` is a flexible structure --a structure that contains a flexible-array member. Fix the following warning: ./drivers/net/ethernet/chelsio/cxgb4/cxgb4.h:1215:29: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end] Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)