On Mon, 6 May 2019 at 23:25, Nathan Chancellor <[email protected]> wrote: > > Clang warns: > > drivers/net/dsa/sja1105/sja1105_ethtool.c:316:39: warning: suggest > braces around initialization of subobject [-Wmissing-braces] > struct sja1105_port_status status = {0}; > ^ > {} > 1 warning generated. > > One way to fix these warnings is to add additional braces like Clang > suggests; however, there has been a bit of push back from some > maintainers[1][2], who just prefer memset as it is unambiguous, doesn't > depend on a particular compiler version[3], and properly initializes all > subobjects. Do that here so there are no more warnings. > > [1]: > https://lore.kernel.org/lkml/[email protected]/ > [2]: > https://lore.kernel.org/lkml/[email protected]/ > [3]: https://lore.kernel.org/lkml/[email protected]/ > > Fixes: 52c34e6e125c ("net: dsa: sja1105: Add support for ethtool port > counters") > Link: https://github.com/ClangBuiltLinux/linux/issues/471 > Signed-off-by: Nathan Chancellor <[email protected]> > --- > drivers/net/dsa/sja1105/sja1105_ethtool.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/dsa/sja1105/sja1105_ethtool.c > b/drivers/net/dsa/sja1105/sja1105_ethtool.c > index 46d22be31309..ab581a28cd41 100644 > --- a/drivers/net/dsa/sja1105/sja1105_ethtool.c > +++ b/drivers/net/dsa/sja1105/sja1105_ethtool.c > @@ -313,9 +313,11 @@ static char > sja1105pqrs_extra_port_stats[][ETH_GSTRING_LEN] = { > void sja1105_get_ethtool_stats(struct dsa_switch *ds, int port, u64 *data) > { > struct sja1105_private *priv = ds->priv; > - struct sja1105_port_status status = {0}; > + struct sja1105_port_status status; > int rc, i, k = 0; > > + memset(&status, 0, sizeof(status)); > + > rc = sja1105_port_status_get(priv, &status, port); > if (rc < 0) { > dev_err(ds->dev, "Failed to read port %d counters: %d\n", > -- > 2.21.0 >
Acked-by: Vladimir Oltean <[email protected]> Thanks Nathan, compound literals got me this time. -Vladimir

