summaryrefslogtreecommitdiff
path: root/hwdb/ids-update.pl
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2014-08-04 10:04:45 -0400
committerAnthony G. Basile <blueness@gentoo.org>2014-08-04 10:06:05 -0400
commitd97bc57bad12282f9b07e34457757be4152f5d7d (patch)
tree2d9f825e524833cc1dd648b9a36e837884c11821 /hwdb/ids-update.pl
parent9ef02bd6f48a6c2c95940b448ecffff46c1062c2 (diff)
hwdb/ids-update.pl: bring up to date with upstream.
This includes pieces of the following commits: d060b62fcb4746d3758c567e9379c6728a035b66 bd63a88fb0478da2e93c363849b73aed8be36ae7 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'hwdb/ids-update.pl')
-rwxr-xr-xhwdb/ids-update.pl11
1 files changed, 7 insertions, 4 deletions
diff --git a/hwdb/ids-update.pl b/hwdb/ids-update.pl
index b72c415711..86d414a6ff 100755
--- a/hwdb/ids-update.pl
+++ b/hwdb/ids-update.pl
@@ -107,6 +107,7 @@ sub usb_classes {
sub pci_vendor {
my $vendor;
my $device;
+ my $device_text;
open(IN, "<", "pci.ids");
open(OUT, ">", "20-pci-vendor-model.hwdb");
@@ -130,10 +131,10 @@ sub pci_vendor {
$line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
$device = uc $1;
- my $text = $2;
+ $device_text = $2;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "d0000" . $device . "*\n");
- print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
+ print(OUT " ID_MODEL_FROM_DATABASE=" . $device_text . "\n");
next;
}
@@ -141,10 +142,12 @@ sub pci_vendor {
if (defined $1) {
my $sub_vendor = uc $1;
my $sub_device = uc $2;
- my $text = $3;
+ my $sub_text = $3;
+ $sub_text =~ s/^\Q$device_text\E\s*//;
+ $sub_text =~ s/(.+)/\ ($1)/;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "d0000" . $device . "sv0000" . $sub_vendor . "sd0000" . $sub_device . "*\n");
- print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
+ print(OUT " ID_MODEL_FROM_DATABASE=" . $device_text . $sub_text . "\n");
}
}