]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[pci] Provide PCI_CLASS() to calculate a scalar PCI class value
authorMichael Brown <mcb30@ipxe.org>
Fri, 8 May 2015 13:54:12 +0000 (14:54 +0100)
committerMichael Brown <mcb30@ipxe.org>
Fri, 8 May 2015 13:57:12 +0000 (14:57 +0100)
Rename PCI_CLASS() (which constructs a struct pci_class_id) to
PCI_CLASS_ID(), and provide PCI_CLASS() as a macro which constructs
the 24-bit scalar value of a PCI class code.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/i386/drivers/net/undi.c
src/drivers/usb/ehci.c
src/drivers/usb/xhci.c
src/include/ipxe/pci.h

index c4a11c57fabd6629b45e85d4032a6c50fb7d21b4..9820cf629b86fcf753094f45d87ef0d47fce23b6 100644 (file)
@@ -140,7 +140,7 @@ static struct pci_device_id undipci_nics[] = {
 struct pci_driver undipci_driver __pci_driver_fallback = {
        .ids = undipci_nics,
        .id_count = ( sizeof ( undipci_nics ) / sizeof ( undipci_nics[0] ) ),
-       .class = PCI_CLASS ( PCI_CLASS_NETWORK, PCI_ANY_ID, PCI_ANY_ID ),
+       .class = PCI_CLASS_ID ( PCI_CLASS_NETWORK, PCI_ANY_ID, PCI_ANY_ID ),
        .probe = undipci_probe,
        .remove = undipci_remove,
 };
index e33b0e19f9cd973e59a391b8dc101cabd3fdc26d..653e72c13256f8fc27af222f0fe9397032f6e068 100644 (file)
@@ -1877,8 +1877,8 @@ static struct pci_device_id ehci_ids[] = {
 struct pci_driver ehci_driver __pci_driver = {
        .ids = ehci_ids,
        .id_count = ( sizeof ( ehci_ids ) / sizeof ( ehci_ids[0] ) ),
-       .class = PCI_CLASS ( PCI_CLASS_SERIAL, PCI_CLASS_SERIAL_USB,
-                            PCI_CLASS_SERIAL_USB_EHCI ),
+       .class = PCI_CLASS_ID ( PCI_CLASS_SERIAL, PCI_CLASS_SERIAL_USB,
+                               PCI_CLASS_SERIAL_USB_EHCI ),
        .probe = ehci_probe,
        .remove = ehci_remove,
 };
index 831e8e6ef44495937b9a4675e1a80e5f3d767658..307a99120d116f4a8babff6ef20d4757cdb2f39a 100644 (file)
@@ -3280,8 +3280,8 @@ static struct pci_device_id xhci_ids[] = {
 struct pci_driver xhci_driver __pci_driver = {
        .ids = xhci_ids,
        .id_count = ( sizeof ( xhci_ids ) / sizeof ( xhci_ids[0] ) ),
-       .class = PCI_CLASS ( PCI_CLASS_SERIAL, PCI_CLASS_SERIAL_USB,
-                            PCI_CLASS_SERIAL_USB_XHCI ),
+       .class = PCI_CLASS_ID ( PCI_CLASS_SERIAL, PCI_CLASS_SERIAL_USB,
+                               PCI_CLASS_SERIAL_USB_XHCI ),
        .probe = xhci_probe,
        .remove = xhci_remove,
 };
index 976a37c5bd3b3abab94ca7794a874113e852a0cd..ccc42fee6cf3729719e125ba1cdf6cbf944b5cd2 100644 (file)
@@ -118,6 +118,16 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 #define PCI_CLASS_SERIAL_USB_EHCI       0x20   /**< ECHI USB controller */
 #define PCI_CLASS_SERIAL_USB_XHCI       0x30   /**< xHCI USB controller */
 
+/** Construct PCI class
+ *
+ * @v base             Base class (or PCI_ANY_ID)
+ * @v sub              Subclass (or PCI_ANY_ID)
+ * @v progif           Programming interface (or PCI_ANY_ID)
+ */
+#define PCI_CLASS( base, sub, progif )                                 \
+       ( ( ( (base) & 0xff ) << 16 ) | ( ( (sub) & 0xff ) << 8 ) |     \
+         ( ( (progif) & 0xff) << 0 ) )
+
 /** A PCI device ID list entry */
 struct pci_device_id {
        /** Name */
@@ -147,10 +157,8 @@ struct pci_class_id {
  * @v sub              Subclass (or PCI_ANY_ID)
  * @v progif           Programming interface (or PCI_ANY_ID)
  */
-#define PCI_CLASS(base,sub,progif) {                                      \
-       .class = ( ( ( (base) & 0xff ) << 16 ) |                           \
-                  ( ( (sub) & 0xff ) << 8 ) |                             \
-                  ( ( (progif) & 0xff) << 0 ) ),                          \
+#define PCI_CLASS_ID( base, sub, progif ) {                               \
+       .class = PCI_CLASS ( base, sub, progif ),                          \
        .mask = ( ( ( ( (base) == PCI_ANY_ID ) ? 0x00 : 0xff ) << 16 ) |   \
                  ( ( ( (sub) == PCI_ANY_ID ) ? 0x00 : 0xff ) << 8 ) |     \
                  ( ( ( (progif) == PCI_ANY_ID ) ? 0x00 : 0xff ) << 0 ) ), \