lkml.org 
[lkml]   [2013]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH RESEND][pciutils] libpci: pci_id_lookup - add udev/hwdb support
On Wed, Sep 4, 2013 at 4:59 PM, Tom Gundersen <teg@jklm.no> wrote:
> On Wed, Sep 4, 2013 at 3:57 PM, Martin Mares <mj@ucw.cz> 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


\
 
 \ /
  Last update: 2013-09-13 13:21    [W:0.129 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site