diff options
Diffstat (limited to 'mdk-stage1/probing.h')
-rw-r--r-- | mdk-stage1/probing.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mdk-stage1/probing.h b/mdk-stage1/probing.h index 6efa7b464..ed1af8ea6 100644 --- a/mdk-stage1/probing.h +++ b/mdk-stage1/probing.h @@ -26,7 +26,7 @@ enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA }; enum driver_type { SCSI_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, ANY_DRIVER_TYPE }; -enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_ANY }; +enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_PCMCIA, BUS_ANY }; void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus); char ** get_net_devices(void); @@ -35,17 +35,24 @@ char * get_net_intf_description(char * intf_name); void prepare_intf_descr(const char * intf_descr); void probe_that_type(enum driver_type type, enum media_bus bus); +/* Make sure the MATCH_ALL value is greater than all possible values + for subvendor & subdevice: this simplifies the orderer */ +#define PCITABLE_MATCH_ALL 0x10000 + struct pcitable_entry { /* some bits stolen from pci-resource/pci-ids.h * FIXME: split pci-ids.h into pci-ids.c and pci-ids.h so that the header can be re-used */ unsigned short vendor; /* PCI vendor id */ unsigned short device; /* PCI device id */ + unsigned int subvendor; /* PCI subvendor id */ + unsigned int subdevice; /* PCI subdevice id */ char module[20]; /* module to load */ char description[100]; /* PCI human readable description */ }; -extern struct pcitable_entry detected_devices[50]; +extern struct pcitable_entry *detected_devices; extern int detected_devices_len; void probing_detect_devices(); +void probing_destroy(void); #endif |