Messages in this thread | | | From | Vladimir Oltean <> | Date | Mon, 6 May 2019 23:45:22 +0300 | Subject | Re: [PATCH] net: dsa: sja1105: Fix status initialization in sja1105_get_ethtool_stats |
| |
On Mon, 6 May 2019 at 23:25, Nathan Chancellor <natechancellor@gmail.com> 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/022e41c0-8465-dc7a-a45c-64187ecd9684@amd.com/ > [2]: https://lore.kernel.org/lkml/20181128.215241.702406654469517539.davem@davemloft.net/ > [3]: https://lore.kernel.org/lkml/20181116150432.2408a075@redhat.com/ > > Fixes: 52c34e6e125c ("net: dsa: sja1105: Add support for ethtool port counters") > Link: https://github.com/ClangBuiltLinux/linux/issues/471 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > 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 <olteanv@gmail.com>
Thanks Nathan, compound literals got me this time. -Vladimir
| |