*
* Copyright (c) 1997--2008 Martin Mares <mj@ucw.cz>
*
- * Can be freely distributed and used under the terms of the GNU GPL.
+ * Can be freely distributed and used under the terms of the GNU GPL v2+.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/
#include <string.h>
continue;
if (n->src == SRC_CACHE && !(flags & PCI_LOOKUP_CACHE))
continue;
+ if (n->src == SRC_HWDB && (flags & (PCI_LOOKUP_SKIP_LOCAL | PCI_LOOKUP_NO_HWDB)))
+ continue;
if (!best || best->src < n->src)
best = n;
}
return NULL;
}
-static void
+void
pci_id_hash_free(struct pci_access *a)
{
pci_mfree(a->id_hash);
a->id_hash = NULL;
- a->id_cache_status = 0;
while (a->current_id_bucket)
{
struct id_bucket *buck = a->current_id_bucket;
pci_mfree(buck);
}
}
-
-void
-pci_free_name_list(struct pci_access *a)
-{
- pci_id_cache_flush(a);
- pci_id_hash_free(a);
-}