Hello community, here is the log from the commit of package hwinfo for openSUSE:Factory checked in at 2016-09-21 18:24:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hwinfo (Old) and /work/SRC/openSUSE:Factory/.hwinfo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwinfo" Changes: -------- --- /work/SRC/openSUSE:Factory/hwinfo/hwinfo.changes 2016-08-03 11:42:05.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.hwinfo.new/hwinfo.changes 2016-09-21 18:24:16.000000000 +0200 @@ -1,0 +2,10 @@ +Fri Sep 16 08:34:28 UTC 2016 - [email protected] + +- improved comment +- document id data sources +- find parent device +- add support for mmc/sdio devices (bsc#996183) +- add sdio id list +- 21.31 + +------------------------------------------------------------------- Old: ---- hwinfo-21.30.tar.xz New: ---- hwinfo-21.31.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hwinfo.spec ++++++ --- /var/tmp/diff_new_pack.ddkGTG/_old 2016-09-21 18:24:17.000000000 +0200 +++ /var/tmp/diff_new_pack.ddkGTG/_new 2016-09-21 18:24:17.000000000 +0200 @@ -36,7 +36,7 @@ Group: Hardware/Other # Until migration to github this should be correct url Url: http://gitorious.org/opensuse/hwinfo -Version: 21.30 +Version: 21.31 Release: 0 Source: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ hwinfo-21.30.tar.xz -> hwinfo-21.31.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/VERSION new/hwinfo-21.31/VERSION --- old/hwinfo-21.30/VERSION 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/VERSION 2016-09-16 10:33:46.000000000 +0200 @@ -1 +1 @@ -21.30 +21.31 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/changelog new/hwinfo-21.31/changelog --- old/hwinfo-21.30/changelog 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/changelog 2016-09-16 10:33:46.000000000 +0200 @@ -1,3 +1,10 @@ +2016-09-16: 21.31 + - improved comment + - document id data sources + - find parent device + - add support for mmc/sdio devices (bsc #996183) + - add sdio id list + 2016-07-28: 21.30 - fix input device name detection for usb devices (bsc #989633) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/doc/hwinfo.8 new/hwinfo-21.31/doc/hwinfo.8 --- old/hwinfo-21.30/doc/hwinfo.8 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/doc/hwinfo.8 2016-09-16 10:33:46.000000000 +0200 @@ -24,7 +24,7 @@ all, arch, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu, disk, dsl, dvb, fingerprint, floppy, framebuffer, gfxcard, hub, ide, -isapnp, isdn, joystick, keyboard, memory, modem, monitor, mouse, netcard, +isapnp, isdn, joystick, keyboard, memory, mmc-ctrl, modem, monitor, mouse, netcard, network, partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer, redasd, reallyall, scanner, scsi, smp, sound, storage-ctrl, sys, tape, tv, uml, usb, usb-ctrl, vbe, wlan, xen, zip diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/hwinfo.c new/hwinfo-21.31/hwinfo.c --- old/hwinfo-21.30/hwinfo.c 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/hwinfo.c 2016-09-16 10:33:46.000000000 +0200 @@ -161,6 +161,8 @@ { "hotplug", 0, NULL, 1000 + hw_hotplug }, { "hotplug-ctrl", 0, NULL, 1000 + hw_hotplug_ctrl }, { "hotplug_ctrl", 0, NULL, 1000 + hw_hotplug_ctrl }, + { "mmc-ctrl", 0, NULL, 1000 + hw_mmc_ctrl }, + { "mmc_ctrl", 0, NULL, 1000 + hw_mmc_ctrl }, { "zip", 0, NULL, 1000 + hw_zip }, { "pppoe", 0, NULL, 1000 + hw_pppoe }, { "dsl", 0, NULL, 1000 + hw_dsl }, @@ -810,7 +812,7 @@ " all, arch, bios, block, bluetooth, braille, bridge, camera,\n" " cdrom, chipcard, cpu, disk, dsl, dvb, fingerprint, floppy,\n" " framebuffer, gfxcard, hub, ide, isapnp, isdn, joystick, keyboard,\n" - " memory, modem, monitor, mouse, netcard, network, partition,\n" + " memory, mmc-ctrl, modem, monitor, mouse, netcard, network, partition,\n" " pci, pcmcia, pcmcia-ctrl, pppoe, printer, redasd,\n" " reallyall, scanner, scsi, smp, sound, storage-ctrl, sys, tape,\n" " tv, uml, usb, usb-ctrl, vbe, wlan, xen, zip\n" @@ -1412,6 +1414,7 @@ if(!strcmp(sl->str, "isapnp")) { tag = TAG_EISA; continue; } if(!strcmp(sl->str, "special")) { tag = TAG_SPECIAL; continue; } if(!strcmp(sl->str, "pcmcia")) { tag = TAG_PCMCIA; continue; } + if(!strcmp(sl->str, "sdio")) { tag = TAG_SDIO; continue; } if(sscanf(sl->str, "class=%i%n", &u, &cnt) >= 1 && !sl->str[cnt]) { hd->base_class.id = u >> 16; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/hd/hd.c new/hwinfo-21.31/src/hd/hd.c --- old/hwinfo-21.30/src/hd/hd.c 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/hd/hd.c 2016-09-16 10:33:46.000000000 +0200 @@ -873,6 +873,7 @@ break; case hw_pci: + case hw_mmc_ctrl: hd_set_probe_feature(hd_data, pr_misc); hd_set_probe_feature(hd_data, pr_pci); hd_set_probe_feature(hd_data, pr_net); @@ -4013,6 +4014,7 @@ case 's': tag = TAG_SPECIAL; s++; break; case 'u': tag = TAG_USB; s++; break; case 'P': tag = TAG_PCMCIA; s++; break; + case 'S': tag = TAG_SDIO; s++; break; } u1 = strtoul(s, &s, 16); if(*s) err |= 2; @@ -4653,6 +4655,10 @@ base_class = bc_fingerprint; break; + case hw_mmc_ctrl: + base_class = bc_mmc_ctrl; + break; + case hw_wlan: case hw_block: case hw_tape: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/hd/hd.h new/hwinfo-21.31/src/hd/hd.h --- old/hwinfo-21.30/src/hd/hd.h 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/hd/hd.h 2016-09-16 10:33:46.000000000 +0200 @@ -85,6 +85,7 @@ #define TAG_USB 3 /**< USB ids. */ #define TAG_SPECIAL 4 /**< Internally used ids. */ #define TAG_PCMCIA 5 /**< PCMCIA ids. */ +#define TAG_SDIO 6 /**< SDIO ids. */ /** * Get the real id value. @@ -142,7 +143,7 @@ hw_isapnp, hw_bridge, hw_hub, hw_scsi, hw_ide, hw_memory, hw_dvb, hw_pcmcia, hw_pcmcia_ctrl, hw_ieee1394, hw_ieee1394_ctrl, hw_hotplug, hw_hotplug_ctrl, hw_zip, hw_pppoe, hw_wlan, hw_redasd, hw_dsl, hw_block, - hw_tape, hw_vbe, hw_bluetooth, hw_fingerprint, + hw_tape, hw_vbe, hw_bluetooth, hw_fingerprint, hw_mmc_ctrl, /** append new entries here */ hw_unknown, hw_all /**< hw_all must be last */ } hd_hw_item_t; @@ -164,7 +165,8 @@ bc_monitor = 0x100, bc_internal, bc_modem, bc_isdn, bc_ps2, bc_mouse, bc_storage_device, bc_network_interface, bc_keyboard, bc_printer, bc_hub, bc_braille, bc_scanner, bc_joystick, bc_chipcard, bc_camera, - bc_framebuffer, bc_dvb, bc_tv, bc_partition, bc_dsl, bc_bluetooth, bc_fingerprint + bc_framebuffer, bc_dvb, bc_tv, bc_partition, bc_dsl, bc_bluetooth, bc_fingerprint, + bc_mmc_ctrl } hd_base_classes_t; /** subclass values of bc_monitor */ @@ -296,7 +298,7 @@ /** outside the range of the PCI values */ bus_ps2 = 0x80, bus_serial, bus_parallel, bus_floppy, bus_scsi, bus_ide, bus_usb, bus_adb, bus_raid, bus_sbus, bus_i2o, bus_vio, bus_ccw, bus_iucv, bus_ps3_system_bus, - bus_virtio, bus_ibmebus, bus_gameport, bus_uisvirtpci + bus_virtio, bus_ibmebus, bus_gameport, bus_uisvirtpci, bus_mmc, bus_sdio } hd_bus_types_t; /** @} */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/hd/hddb.c new/hwinfo-21.31/src/hd/hddb.c --- old/hwinfo-21.30/src/hd/hddb.c 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/hd/hddb.c 2016-09-16 10:33:46.000000000 +0200 @@ -28,9 +28,9 @@ // #define HDDB_TEST // #define HDDB_EXTERNAL_ONLY -static char *hid_tag_names[] = { "", "pci ", "eisa ", "usb ", "special ", "pcmcia " }; +static char *hid_tag_names[] = { "", "pci ", "eisa ", "usb ", "special ", "pcmcia ", "sdio " }; // just experimenting... -static char *hid_tag_names2[] = { "", "pci ", "eisa ", "usb ", "int ", "pcmcia " }; +static char *hid_tag_names2[] = { "", "pci ", "eisa ", "usb ", "int ", "pcmcia ", "sdio " }; typedef enum { pref_empty, pref_new, pref_and, pref_or, pref_add @@ -884,6 +884,7 @@ else if(!strcmp(s, "eisa")) tag = TAG_EISA; else if(!strcmp(s, "isapnp")) tag = TAG_EISA; else if(!strcmp(s, "pcmcia")) tag = TAG_PCMCIA; + else if(!strcmp(s, "sdio")) tag = TAG_SDIO; else { str = s; if(t) *t = c; /* restore */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/hd/pci.c new/hwinfo-21.31/src/hd/pci.c --- old/hwinfo-21.30/src/hd/pci.c 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/hd/pci.c 2016-09-16 10:33:46.000000000 +0200 @@ -61,6 +61,8 @@ static void hd_read_uisvirtpci(hd_data_t *hd_data); static void hd_read_ibmebus(hd_data_t *hd_data); static void add_edid_from_file(const char *file, pci_t *pci, int index, hd_data_t *hd_data); +static void hd_read_mmc(hd_data_t *hd_data); +static void hd_read_sdio(hd_data_t *hd_data); void hd_scan_sysfs_pci(hd_data_t *hd_data) { @@ -112,6 +114,12 @@ PROGRESS(12, 0, "uisvirtpci"); hd_read_uisvirtpci(hd_data); + + PROGRESS(13, 0, "mmc"); + hd_read_mmc(hd_data); + + PROGRESS(14, 0, "sdio"); + hd_read_sdio(hd_data); } @@ -1747,6 +1755,173 @@ free_mem(sf_dev); free_mem(drv); + } + + free_str_list(sf_bus); +} + + +/* + * mmc + */ +void hd_read_mmc(hd_data_t *hd_data) +{ + int cnt; + hd_t *hd; + str_list_t *sf_bus, *sf_bus_e; + char *sf_dev, *drv, *drv_name, *modalias, *mmc_type; + + sf_bus = read_dir("/sys/bus/mmc/devices", 'l'); + + if(!sf_bus) { + ADD2LOG("sysfs: no such bus: mmc\n"); + return; + } + + for(sf_bus_e = sf_bus; sf_bus_e; sf_bus_e = sf_bus_e->next) { + sf_dev = new_str(hd_read_sysfs_link("/sys/bus/mmc/devices", sf_bus_e->str)); + + ADD2LOG( + " mmc device: name = %s\n path = %s\n", + sf_bus_e->str, + hd_sysfs_id(sf_dev) + ); + + drv_name = NULL; + drv = new_str(hd_read_sysfs_link(sf_dev, "driver")); + if(drv) { + drv_name = strrchr(drv, '/'); + if(drv_name) drv_name++; + } + + ADD2LOG(" driver = \"%s\"\n", drv_name); + + if((modalias = get_sysfs_attr_by_path(sf_dev, "modalias"))) { + modalias = canon_str(modalias, strlen(modalias)); + ADD2LOG(" modalias = \"%s\"\n", modalias); + } + + if(!sf_bus_e->str || sscanf(sf_bus_e->str, "mmc%u", &cnt) != 1) { + cnt = -1; + } + ADD2LOG(" index = %d\n", cnt); + + if((mmc_type = get_sysfs_attr_by_path(sf_dev, "type"))) { + mmc_type = canon_str(mmc_type, strlen(mmc_type)); + ADD2LOG(" type = \"%s\"\n", mmc_type); + } + + hd = add_hd_entry(hd_data, __LINE__, 0); + hd->vendor.id = MAKE_ID(TAG_SPECIAL, 0x6015); /* mmc, see src/ids/src/special */ + hd->device.id = MAKE_ID(TAG_SPECIAL, 0x0000); + if(mmc_type && !strcmp(mmc_type, "SD")) hd->device.id = MAKE_ID(TAG_SPECIAL, 0x0001); + if(mmc_type && !strcmp(mmc_type, "SDIO")) hd->device.id = MAKE_ID(TAG_SPECIAL, 0x0002); + + hd->sysfs_id = new_str(hd_sysfs_id(sf_dev)); + hd->sysfs_bus_id = new_str(sf_bus_e->str); + if(drv_name) add_str_list(&hd->drivers, drv_name); + if(modalias) { hd->modalias = modalias; modalias = NULL; } + + hd->bus.id = bus_mmc; + hd->base_class.id = bc_mmc_ctrl; + if(mmc_type && cnt >= 0) { + hd->slot = cnt; + str_printf(&hd->device.name, 0, "%s Controller %d", mmc_type, hd->slot); + } + else { + str_printf(&hd->device.name, 0, "MMC Controller"); + } + + free_mem(mmc_type); + free_mem(modalias); + + free_mem(sf_dev); + free_mem(drv); + } + + free_str_list(sf_bus); +} + + +/* + * sdio + */ +void hd_read_sdio(hd_data_t *hd_data) +{ + uint64_t ul0; + hd_t *hd, *hd2; + str_list_t *sf_bus, *sf_bus_e; + char *sf_dev, *drv, *drv_name, *modalias, *s, *t; + + sf_bus = read_dir("/sys/bus/sdio/devices", 'l'); + + if(!sf_bus) { + ADD2LOG("sysfs: no such bus: sdio\n"); + return; + } + + for(sf_bus_e = sf_bus; sf_bus_e; sf_bus_e = sf_bus_e->next) { + sf_dev = new_str(hd_read_sysfs_link("/sys/bus/sdio/devices", sf_bus_e->str)); + + ADD2LOG( + " sdio device: name = %s\n path = %s\n", + sf_bus_e->str, + hd_sysfs_id(sf_dev) + ); + + drv_name = NULL; + drv = new_str(hd_read_sysfs_link(sf_dev, "driver")); + if(drv) { + drv_name = strrchr(drv, '/'); + if(drv_name) drv_name++; + } + + ADD2LOG(" driver = \"%s\"\n", drv_name); + + if((modalias = get_sysfs_attr_by_path(sf_dev, "modalias"))) { + modalias = canon_str(modalias, strlen(modalias)); + ADD2LOG(" modalias = \"%s\"\n", modalias); + } + + hd = add_hd_entry(hd_data, __LINE__, 0); + + if(hd_attr_uint(get_sysfs_attr_by_path(sf_dev, "vendor"), &ul0, 0)) { + hd->vendor.id = MAKE_ID(TAG_SDIO, ul0); + ADD2LOG(" vendor = %lu\n", ul0); + } + + if(hd_attr_uint(get_sysfs_attr_by_path(sf_dev, "device"), &ul0, 0)) { + hd->device.id = MAKE_ID(TAG_SDIO, ul0); + ADD2LOG(" device = %lu\n", ul0); + } + + hd->sysfs_id = new_str(hd_sysfs_id(sf_dev)); + hd->sysfs_bus_id = new_str(sf_bus_e->str); + if(drv_name) add_str_list(&hd->drivers, drv_name); + if(modalias) { hd->modalias = modalias; modalias = NULL; } + + hd->bus.id = bus_sdio; + + s = new_str(hd->sysfs_id); // get a writable copy + + if((t = strrchr(s, '/'))) { + *t = 0; // cut out last path element + if((hd2 = hd_find_sysfs_id(hd_data, s))) { + hd->attached_to = hd2->idx; + } + } + + free_mem(s); + + if(hd_read_sysfs_link(sf_dev, "net")) { + hd->base_class.id = bc_network; + hd->sub_class.id = sc_nif_other; + } + + free_mem(modalias); + + free_mem(sf_dev); + free_mem(drv); } free_str_list(sf_bus); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/Makefile new/hwinfo-21.31/src/ids/Makefile --- old/hwinfo-21.30/src/ids/Makefile 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/ids/Makefile 2016-09-16 10:33:46.000000000 +0200 @@ -15,7 +15,7 @@ IDFILES += src/bus src/class src/extra src/special src/scanner src/network \ src/usb src/usb2 src/isapnp src/monitor src/camera src/tv2 src/tv src/dvb2 src/dvb \ - src/chipcard src/modem src/pcmcia src/s390 + src/chipcard src/modem src/pcmcia src/s390 src/sdio ifeq "$(ARCH)" "i386" IDFILES += src/x11.i386 src/modem.i386 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/README new/hwinfo-21.31/src/ids/README --- old/hwinfo-21.30/src/ids/README 1970-01-01 01:00:00.000000000 +0100 +++ new/hwinfo-21.31/src/ids/README 2016-09-16 10:33:46.000000000 +0200 @@ -0,0 +1,12 @@ +The internal id database is compiled mainly from these public sources: + +- pci ids + http://pci-ids.ucw.cz + +- usb ids + http://www.linux-usb.org/usb.ids + +- sdio ids + https://github.com/systemd/systemd/blob/master/hwdb/sdio.ids + https://wikidevi.com/wiki/Talk:Linux_Wi-Fi_device_entries + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/check_hd.c new/hwinfo-21.31/src/ids/check_hd.c --- old/hwinfo-21.30/src/ids/check_hd.c 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/ids/check_hd.c 2016-09-16 10:33:46.000000000 +0200 @@ -31,6 +31,7 @@ #define TAG_USB 3 /* usb ids */ #define TAG_SPECIAL 4 /* internally used ids */ #define TAG_PCMCIA 5 /* pcmcia ids */ +#define TAG_SDIO 6 /* sdio ids */ #define ID_VALUE(id) ((id) & 0xffff) #define ID_TAG(id) (((id) >> 16) & 0xf) @@ -799,6 +800,7 @@ else if(!strcmp(s, "eisa")) *tag = TAG_EISA; else if(!strcmp(s, "isapnp")) *tag = TAG_EISA; else if(!strcmp(s, "pcmcia")) *tag = TAG_PCMCIA; + else if(!strcmp(s, "sdio")) *tag = TAG_SDIO; else { str = s; if(t) *t = c; /* restore */ @@ -1114,7 +1116,7 @@ void write_id(FILE *f, hddb_entry_t ent, hid_t *hid) { - static char *tag_name[6] = { "", "pci ", "eisa ", "usb ", "special ", "pcmcia " }; + static char *tag_name[7] = { "", "pci ", "eisa ", "usb ", "special ", "pcmcia ", "sdio " }; int tag; unsigned u; char c, *s; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/convert_hd new/hwinfo-21.31/src/ids/convert_hd --- old/hwinfo-21.30/src/ids/convert_hd 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/ids/convert_hd 2016-09-16 10:33:46.000000000 +0200 @@ -3,7 +3,6 @@ use Getopt::Long; use XML::Writer; use XML::Parser; -use IO; use Dumpvalue; sub help; @@ -96,10 +95,10 @@ ); @xml_values{@xml_names} = ( 0 .. 100 ); -( $tag_none, $tag_pci, $tag_eisa, $tag_usb, $tag_special, $tag_pcmcia ) = ( 0 .. 5 ); +( $tag_none, $tag_pci, $tag_eisa, $tag_usb, $tag_special, $tag_pcmcia, $tag_sdio ) = ( 0 .. 6 ); -@tag_name = ( "", "pci", "eisa", "usb", "special", "pcmcia" ); -@tag_values{@tag_name} = ( 0 .. 5 ); +@tag_name = ( "", "pci", "eisa", "usb", "special", "pcmcia", "sdio" ); +@tag_values{@tag_name} = ( 0 .. 6 ); $tag_values{none} = 0; ( $flag_id, $flag_range, $flag_mask, $flag_string, $flag_regexp ) = ( 0 .. 4 ); @@ -350,7 +349,7 @@ sub read_name_file { - my ( $file_name, $file, $line, $sax_version, $tag, $id, $val, $ent ); + my ( $file_name, $file, $line, $sax_version, $tag, $id, $val, $ent, $tag_default ); my ( @id0, @id1, @id2, @id3, @id4, $raw, $opt, $ext, $srv, $str ); local $_; @@ -422,10 +421,17 @@ $line = 0; undef $sax_version; + $tag_default = $tag_pci; + for (@$file) { $line++; chomp; s/\s*$//; + + if(/^#\s*List of SDIO ID/) { + $tag_default = $tag_sdio; + } + next if /^\s*[#;]/; next if /^$/; @@ -493,7 +499,7 @@ elsif(/^([0-9a-fA-F]{4})(\s+(.*?))?\s*$/) { - $rnf_add_vendor->($tag_pci, hex($1), $3); + $rnf_add_vendor->($tag_default, hex($1), $3); } @@ -609,7 +615,7 @@ my $rdf_save_drv = sub { if($drv_type) { - push @hd, [ @drv ] if defined @drv; + push @hd, [ @drv ] if @drv; @drv = ( "$file_name($line)" ); $drv[2][$he_driver] = [ $flag_string ]; $drv_type = undef; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/src/bus new/hwinfo-21.31/src/ids/src/bus --- old/hwinfo-21.30/src/ids/src/bus 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/ids/src/bus 2016-09-16 10:33:46.000000000 +0200 @@ -91,3 +91,9 @@ bus.id 0x92 +bus.name UISVIRTPCI + bus.id 0x93 ++bus.name MMC + + bus.id 0x94 ++bus.name SDIO + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/src/class new/hwinfo-21.31/src/ids/src/class --- old/hwinfo-21.30/src/ids/src/class 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/ids/src/class 2016-09-16 10:33:46.000000000 +0200 @@ -961,3 +961,6 @@ baseclass.id 0x116 +baseclass.name Fingerprint Reader + baseclass.id 0x117 ++baseclass.name MMC Controller + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/src/sdio new/hwinfo-21.31/src/ids/src/sdio --- old/hwinfo-21.30/src/ids/src/sdio 1970-01-01 01:00:00.000000000 +0100 +++ new/hwinfo-21.31/src/ids/src/sdio 2016-09-16 10:33:46.000000000 +0200 @@ -0,0 +1,261 @@ + vendor.id sdio 0x0020 ++vendor.name ST-Ericsson + + vendor.id sdio 0x0020 +&device.id sdio 0x2280 ++device.name CW1200 + + vendor.id sdio 0x0089 ++vendor.name Intel Corp. + + vendor.id sdio 0x0092 ++vendor.name C-guys, Inc. + + vendor.id sdio 0x0092 +&device.id sdio 0x0001 ++device.name SD-Link11b WiFi Card (TI ACX100) + + vendor.id sdio 0x0092 +&device.id sdio 0x0004 ++device.name EW-CG1102GC + + vendor.id sdio 0x0092 +&device.id sdio 0x0005 ++device.name SD FM Radio 2 + + vendor.id sdio 0x0092 +&device.id sdio 0x5544 ++device.name SD FM Radio + + vendor.id sdio 0x0097 ++vendor.name Texas Instruments, Inc. + + vendor.id sdio 0x0097 +&device.id sdio 0x4076 ++device.name WL1271 + + vendor.id sdio 0x0098 ++vendor.name Toshiba Corp. + + vendor.id sdio 0x0098 +&device.id sdio 0x0001 ++device.name SD BT Card 1 + + vendor.id sdio 0x0098 +&device.id sdio 0x0002 ++device.name SD BT Card 2 + + vendor.id sdio 0x0098 +&device.id sdio 0x0003 ++device.name SD BT Card 3 + + vendor.id sdio 0x0104 ++vendor.name Socket Communications, Inc. + + vendor.id sdio 0x0104 +&device.id sdio 0x005e ++device.name SD Scanner + + vendor.id sdio 0x0104 +&device.id sdio 0x00c5 ++device.name Bluetooth SDIO Card + + vendor.id sdio 0x0271 ++vendor.name Atheros Communications, Inc. + + vendor.id sdio 0x0271 +&device.id sdio 0x0108 ++device.name AR6001 + + vendor.id sdio 0x0271 +&device.id sdio 0x0109 ++device.name AR6001 + + vendor.id sdio 0x0271 +&device.id sdio 0x010a ++device.name AR6001 + + vendor.id sdio 0x0271 +&device.id sdio 0x010b ++device.name AR6001 + + vendor.id sdio 0x0296 ++vendor.name GCT Semiconductor, Inc. + + vendor.id sdio 0x0296 +&device.id sdio 0x5347 ++device.name GDM72xx WiMAX + + vendor.id sdio 0x02d0 ++vendor.name Broadcom Corp. + + vendor.id sdio 0x02d0 +&device.id sdio 0x044b ++device.name Nintendo Wii WLAN daughter card + + vendor.id sdio 0x02d0 +&device.id sdio 0xa887 ++device.name BCM43143 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4324 ++device.name BCM43241 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4329 ++device.name BCM4329 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4330 ++device.name BCM4330 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4334 ++device.name BCM4334 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0xa94c ++device.name BCM43340 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0xa94d ++device.name BCM43341 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4335 ++device.name BCM4335/BCM4339 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0xa962 ++device.name BCM43362 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4354 ++device.name BCM4354 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0xa9a6 ++device.name BCM43430 WLAN card + + vendor.id sdio 0x02d0 +&device.id sdio 0x4345 ++device.name BCM43455 WLAN card + + vendor.id sdio 0x02db ++vendor.name SyChip Inc. + + vendor.id sdio 0x02db +&device.id sdio 0x0002 ++device.name Pegasus WLAN SDIO Card (6060SD) + + vendor.id sdio 0x02df ++vendor.name Marvell Technology Group Ltd. + + vendor.id sdio 0x02df +&device.id sdio 0x9103 ++device.name Libertas + + vendor.id sdio 0x02df +&device.id sdio 0x9104 ++device.name SD8688 WLAN + + vendor.id sdio 0x02df +&device.id sdio 0x9105 ++device.name SD8688 BT + + vendor.id sdio 0x02df +&device.id sdio 0x9116 ++device.name SD8786 WLAN + + vendor.id sdio 0x02df +&device.id sdio 0x9119 ++device.name SD8787 WLAN + + vendor.id sdio 0x02df +&device.id sdio 0x911a ++device.name SD8787 BT + + vendor.id sdio 0x02df +&device.id sdio 0x911b ++device.name SD8787 BT AMP + + vendor.id sdio 0x02df +&device.id sdio 0x9129 ++device.name SD8797 WLAN + + vendor.id sdio 0x02df +&device.id sdio 0x912a ++device.name SD8797 BT + + vendor.id sdio 0x02df +&device.id sdio 0x912e ++device.name SD8897 BT + + vendor.id sdio 0x02df +&device.id sdio 0x912d ++device.name SD8897 WLAN + + vendor.id sdio 0x02fe ++vendor.name Spectec Computer Co., Ltd + + vendor.id sdio 0x02fe +&device.id sdio 0x2128 ++device.name SDIO WLAN Card (SDW820) + + vendor.id sdio 0x032a ++vendor.name Cambridge Silicon Radio + + vendor.id sdio 0x032a +&device.id sdio 0x0001 ++device.name UniFi 1 + + vendor.id sdio 0x032a +&device.id sdio 0x0002 ++device.name UniFi 2 + + vendor.id sdio 0x032a +&device.id sdio 0x0007 ++device.name UniFi 3 + + vendor.id sdio 0x032a +&device.id sdio 0x0008 ++device.name UniFi 4 + + vendor.id sdio 0x037a ++vendor.name MediaTek Inc. + + vendor.id sdio 0x037a +&device.id sdio 0x5911 ++device.name Spectec WLAN-11b/g + + vendor.id sdio 0x039a ++vendor.name Siano Mobile Silicon + + vendor.id sdio 0x0501 ++vendor.name Globalsat Technology Co. + + vendor.id sdio 0x0501 +&device.id sdio 0xf501 ++device.name SD-501 GPS Card + + vendor.id sdio 0x104c ++vendor.name Texas Instruments, Inc. + + vendor.id sdio 0x104c +&device.id sdio 0x9066 ++device.name WL1251 + + vendor.id sdio 0x1180 ++vendor.name Ricoh Co., Ltd + + vendor.id sdio 0x1180 +&device.id sdio 0xe823 ++device.name MMC card reader + + vendor.id sdio 0x13d1 ++vendor.name AboCom Systems, Inc. + + vendor.id sdio 0x13d1 +&device.id sdio 0xac02 ++device.name SDW11G + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.30/src/ids/src/special new/hwinfo-21.31/src/ids/src/special --- old/hwinfo-21.30/src/ids/src/special 2016-07-28 15:50:17.000000000 +0200 +++ new/hwinfo-21.31/src/ids/src/special 2016-09-16 10:33:46.000000000 +0200 @@ -677,6 +677,11 @@ &device.id special 0x0100 +device.name Mouse +# mmc + vendor.id special 0x6015 +&device.id special 0x0000 ++device.name MMC Controller + # internal: usb scanner driver list vendor.id special 0xf000 &device.id special 0x0001
