lkml.org 
[lkml]   [2007]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[patch] use C99 initialisers for PCI_VDEVICE()
Date
(Note: CC me please, I'm not subscribed.)

Not much to say about the patch (it's against 2.6.20.6), it just converts a
macro to generate C99-style initialisers.

--- include/linux/pci.h (revision 17)
+++ include/linux/pci.h (working copy)
@@ -407,9 +407,10 @@
* 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, \
+ .class=0, .class_mask=0


However, I still have two issues with this:
1. It explicitly allows in the comments for PCI_VDEVICE to have non-C99 fields
follow for the driver_data field. IMHO this is wrong per se (just as
old-style initialisers are), so the comment should perhaps be removed.
2. What happens to fields not initialised with this? I believe that these are
initialised with zero, just like missing fields in old initialisers are,
right? In that case, I would remove the initialisers for class and
class_mask, so that people can at least optionally use them. However, this
goes hand in hand with issue #1 because it would definitely break code that
lets old-style initialisers follow.

As far as issue #2 is concerned, I did some checking (grep -r PCI_VDEVICE) and
the only places where this is at all used is in the ATA code (drivers/ata)!
Hmmm, no problem, that is grunt work but easily patched, too. If consensus
exists that the class/class_mask fields should be removed, I hereby volunteer
to submit a patch for that and the ATA code.
Uli
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-04-15 12:51    [W:0.042 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site