On Wed, Sep 4, 2013 at 4:59 PM, Tom Gundersen <teg@xxxxxxx> wrote: > On Wed, Sep 4, 2013 at 3:57 PM, Martin Mares <mj@xxxxxx> wrote: >> Hello! >> >> First of all: Sorry for not replying to the first mail. I do not follow >> linux-pci too much these days (or, I do that in big batches). > > No problem, I guessed as much. > >>> This lets you select hwdb support at compile time. >>> >>> hwdb is an efficient hardware database shipped with recent versions of udev. >>> It contains among other sources pci.ids so querying hwdb rather than reading >>> pci.ids directly should give the same result. >>> >>> Ideally Linux distros using udev could stop shipping pci.ids, but use hwdb >>> as the only source of this information, which this patch allows. >> >> Generally, I will be glad to include hwdb support in libpci. > > Great. > >>> + if [ -f /usr/include/libudev.h -o -f /usr/local/include/libudev.h ] ; then >>> + HWDB=yes >>> + else >>> + HWDB=no >>> + fi >> >> Does this make sense? Does every version of libudev support hwdb? > > Good point. I'll replace it with a pkg-config call, is that acceptable? > >>> @@ -86,8 +91,58 @@ char >>> *pci_id_lookup(struct pci_access *a, int flags, int cat, int id1, int id2, int id3, int id4) >>> { >>> struct id_entry *n, *best; >>> - u32 id12 = id_pair(id1, id2); >>> - u32 id34 = id_pair(id3, id4); >>> + u32 id12, id34; >>> + >>> +#ifdef PCI_HAVE_HWDB >>> + if (!(flags & PCI_LOOKUP_SKIP_LOCAL)) >>> + { >> >> As you wrote it, hwdb has always priority over pci.ids (unless local lookup is >> disabled). As a user, I would expect that pci.ids (being a part of the pciutils) >> is the primary source of data and other sources (network lookups, hwdb) are >> used only if pci.ids do not match or if explicitly requested. > > Hm, this was actually intentional. The reason being that I'd like to > avoid reading in the pci.ids db in the common case, as using the hwdb > should be much more efficient (it is most likely already in memory and > lookup is constant time), and also we (at the distro level) want to > move away from the {usb,pci}.ids and rather default to hwdb > everywhere. > > My original intention was to make hwdb a replacement for pci.ids, but > I ended up going the less invasive route, would making it a > replacement be more acceptable? > > If not, I'll just swap around the priority, not a problem. Hi Martin, Any comments on the above before I resubmit? Cheers, Tom -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html