Re: [PATCH 2/2][next] net: ethtool: Avoid thousands of -Wflex-array-member-not-at-end warnings
From: Jakub Kicinski
Date: Tue Oct 29 2024 - 14:08:57 EST
On Tue, 29 Oct 2024 10:55:14 -0600 Gustavo A. R. Silva wrote:
> On 29/10/24 07:58, Jakub Kicinski wrote:
> > On Mon, 21 Oct 2024 13:02:27 -0600 Gustavo A. R. Silva wrote:
> >> @@ -3025,7 +3025,7 @@ static int bnxt_set_link_ksettings(struct net_device *dev,
> >> {
> >> struct bnxt *bp = netdev_priv(dev);
> >> struct bnxt_link_info *link_info = &bp->link_info;
> >> - const struct ethtool_link_settings *base = &lk_ksettings->base;
> >> + const struct ethtool_link_settings_hdr *base = &lk_ksettings->base;
> >
> > Please improve the variable ordering while at it. Longest list first,
> > so move the @base definition first.
>
> OK. This would end up looking like:
>
> const struct ethtool_link_settings_hdr *base = &lk_ksettings->base;
> struct bnxt *bp = netdev_priv(dev);
> struct bnxt_link_info *link_info = &bp->link_info;
Correct, one step at a time.
> >> @@ -62,7 +62,7 @@ static int linkmodes_reply_size(const struct ethnl_req_info *req_base,
> >> {
> >> const struct linkmodes_reply_data *data = LINKMODES_REPDATA(reply_base);
> >> const struct ethtool_link_ksettings *ksettings = &data->ksettings;
> >> - const struct ethtool_link_settings *lsettings = &ksettings->base;
> >> + const struct ethtool_link_settings_hdr *lsettings = &ksettings->base;
> >
> > here it was correct and now its not
>
> I don't think you want to change this. `lsettings` is based on `ksettings`. So,
> `ksettings` should go first. The same scenario for the one below.
In which case you need to move the init out of line.
Thanks.