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 - snw...@suse.com
+
+- 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


Reply via email to