The PCI Code and ID Assignment spec, r1.9, sec 2, defines a "Null
Capability" containing no registers other than the 8-bit Capability ID
(00h) and an 8-bit Next Capability Pointer.
Some devices, e.g., the Intel [8086:2058] implement this Capability.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
/* Capability lists */
#define PCI_CAP_LIST_ID 0 /* Capability ID */
+#define PCI_CAP_ID_NULL 0x00 /* Null Capability */
#define PCI_CAP_ID_PM 0x01 /* Power Management */
#define PCI_CAP_ID_AGP 0x02 /* Accelerated Graphics Port */
#define PCI_CAP_ID_VPD 0x03 /* Vital Product Data */
/* Capabilities residing in the PCI Express extended configuration space */
+#define PCI_EXT_CAP_ID_NULL 0x00 /* Null Capability */
#define PCI_EXT_CAP_ID_AER 0x01 /* Advanced Error Reporting */
#define PCI_EXT_CAP_ID_VC 0x02 /* Virtual Channel */
#define PCI_EXT_CAP_ID_DSN 0x03 /* Device Serial Number */
}
switch (id)
{
+ case PCI_CAP_ID_NULL:
+ printf("Null\n");
+ break;
case PCI_CAP_ID_PM:
cap_pm(d, where, cap);
break;
}
switch (id)
{
+ case PCI_EXT_CAP_ID_NULL:
+ printf("Null\n");
+ break;
case PCI_EXT_CAP_ID_AER:
cap_aer(d, where, type);
break;