On Tue, Apr 01, 2014 at 02:08:06AM +0400, Sergei Shtylyov wrote: > Hello. > > On 04/01/2014 01:58 AM, Jeff Kirsher wrote: > > >From: Mark Rustad <mark.d.rustad@xxxxxxxxx> > > >By using designated initialization in PCI_VDEVICE, like other > >similar macros, many "missing initializer" warnings that appear > >when compiling with W=2 can be silenced. > > >Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> > >Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> > >Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> > >Tested-by: Kavindya Deegala <kavindya.s.deegala@xxxxxxxxx> > >Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> > >--- > > include/linux/pci.h | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > >diff --git a/include/linux/pci.h b/include/linux/pci.h > >index fb57c89..49455f9 100644 > >--- a/include/linux/pci.h > >+++ b/include/linux/pci.h > [...] > >@@ -689,9 +689,9 @@ struct pci_driver { > > * private data. > > */ > > > >-#define PCI_VDEVICE(vendor, device) \ > >- PCI_VENDOR_ID_##vendor, (device), \ > >- PCI_ANY_ID, PCI_ANY_ID, 0, 0 > >+#define PCI_VDEVICE(vend, dev) \ > >+ .vendor = PCI_VENDOR_ID_##vend, .device = (dev), \ > >+ .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, 0, 0 > > Initializing the fields to 0 is pointless, as 0 is what should be > put into them anyway by the compiler. Also, it doesn't look right > when you mix designated and anonymous initializers. I'm certainly willing to apply this, but I can't reproduce the benefit. I tried "make W=2 drivers/net/ethernet/intel/e1000e/netdev.o" and didn't see any change before and after this patch (I'm using Ubuntu gcc 4.6.3 if it matters). What am I missing? And do we need the zeroes? Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html