From 5209894429f09bba73a6545d1d495fc9279a7147 Mon Sep 17 00:00:00 2001 From: Erwan Velu Date: Mon, 16 Feb 2009 11:17:28 +0100 Subject: hdt: Returning ENOPCIIDS and ENOMODULESPCIMAP when pci.ids and modules.pcidmap files are missing --- sample/hdt.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'sample') diff --git a/sample/hdt.c b/sample/hdt.c index a9503f26..8f4389a7 100644 --- a/sample/hdt.c +++ b/sample/hdt.c @@ -50,7 +50,7 @@ #define EDITPROMPT 21 -#define SUBMENULEN 50 +#define SUBMENULEN 46 #define WITH_PCI 1 #define WITH_MENU_DISPLAY 1 @@ -60,6 +60,8 @@ int nb_sub_disk_menu=0; int nb_pci_devices=0; bool is_dmi_valid=false; int menu_count=0; +int pci_ids=0; +int modules_pcimap=0; #define ATTR_PACKED __attribute__((packed)) @@ -472,8 +474,13 @@ int compute_PCI(unsigned char *menu, struct pci_domain **pci_domain) { } *menu = add_menu(" PCI Devices ",-1); - menu_count++; - + menu_count++; + if (pci_ids == -ENOPCIIDS) { + add_item("The pci.ids file is missing","Missing pci.ids file",OPT_INACTIVE,NULL,0); + add_item("PCI Device names can't be computed.","Missing pci.ids file",OPT_INACTIVE,NULL,0); + add_item("Please put one in same dir as hdt","Missing pci.ids file",OPT_INACTIVE,NULL,0); + add_item("","",OPT_SEP,"",0); + } for (int j=0;jdev_info->linux_kernel_module)!=0) { snprintf(buffer,sizeof buffer,"%s (%s)",pci_device->dev_info->linux_kernel_module, pci_device->dev_info->class_name); @@ -503,6 +516,7 @@ void compute_KERNEL(unsigned char *menu,struct pci_domain **pci_domain) { add_item(buffer,infobar,OPT_INACTIVE,NULL,0); } + } } } @@ -1054,12 +1068,12 @@ void detect_hardware(s_dmi *dmi, s_cpu *cpu, struct pci_domain **pci_domain, str printf("PCI: Resolving class names\n"); /* Assigning class name for each device*/ - get_class_name_from_pci_ids(*pci_domain); + pci_ids=get_class_name_from_pci_ids(*pci_domain); printf("PCI: Resolving module names\n"); /* Detecting which kernel module should match each device */ - get_module_name_from_pci_ids(*pci_domain); + modules_pcimap=get_module_name_from_pci_ids(*pci_domain); #endif } -- cgit v1.2.3