diff --git a/src/arch/i386/drivers/net/undi.c b/src/arch/i386/drivers/net/undi.c index 34fd09562..ad655620d 100644 --- a/src/arch/i386/drivers/net/undi.c +++ b/src/arch/i386/drivers/net/undi.c @@ -140,7 +140,7 @@ static struct pci_device_id undipci_nics[] = { PCI_ROM ( 0xffff, 0xffff, "undipci", "UNDI (PCI)", 0 ), }; -struct pci_driver undipci_driver __pci_driver = { +struct pci_driver undipci_driver __pci_driver_fallback = { .ids = undipci_nics, .id_count = ( sizeof ( undipci_nics ) / sizeof ( undipci_nics[0] ) ), .probe = undipci_probe, diff --git a/src/include/ipxe/pci.h b/src/include/ipxe/pci.h index 960454d69..520c8a027 100644 --- a/src/include/ipxe/pci.h +++ b/src/include/ipxe/pci.h @@ -343,6 +343,9 @@ struct pci_driver { /** Declare a PCI driver */ #define __pci_driver __table_entry ( PCI_DRIVERS, 01 ) +/** Declare a fallback PCI driver */ +#define __pci_driver_fallback __table_entry ( PCI_DRIVERS, 02 ) + #define PCI_BUS( busdevfn ) ( ( (busdevfn) >> 8 ) & 0xff ) #define PCI_SLOT( busdevfn ) ( ( (busdevfn) >> 3 ) & 0x1f ) #define PCI_FUNC( busdevfn ) ( ( (busdevfn) >> 0 ) & 0x07 )