-
Mauro Carvalho Chehab authored
There are several missing USB IDs that are defined on gspca drivers. Add them. The missing entries were found/created using the following script: <script> use strict; use File::Find; my $src = "drivers/media/usb/gspca/"; my $table = 0; my %data; my $id; my $len = 0; open IN, "Documentation/media/v4l-drivers/gspca-cardlist.rst"; while (<IN>) { if (m/^=+\s+=+\s+=+$/) { $table++; next; } next if ($table != 2); if (m/^(\S+)\s+(\S+)\s+(.*)/) { $id = "$1_$2"; $data{$id}->{driver} = $1; $data{$id}->{usb_id} = $2; $data{$id}->{name} = $3; $data{$id}->{valid} = 0; $len = length($3) if (length($3) > $len); } } close IN; sub parse_dir { my $file = $File::Find::name; open IN, $file; my $driver = $file; $driver =~ s,($src),,; $driver =~ s,/.*,,; $driver =~ s,\.c$,,; while (<IN>) { next if (m,/\*.*USB_DEVICE,); if (m/USB_DEVICE[^\(]*\(\s*0x(\S+)\s*\,\s*0x(\S+)\)(.*)/) { my $n = "$1:$2"; my $o = $3; $id = "${driver}_$n"; $data{$id}->{valid} = 1; next if (defined $data{$id}->{driver}); $data{$id}->{driver} = $driver; $data{$id}->{usb_id} = $n; if ($o =~ m,\/\*\s*(.*)\*\/,) { $n = $1; $n =~ s/\s+//; $data{$id}->{name} = $n; } else { $data{$id}->{name} = ""; } } } close IN; } find({wanted => \&parse_dir, no_chdir => 1}, $src); print "The gspca cards list\n"; print "====================\n\n"; print "The modules for the gspca webcam drivers are:\n\n"; print "- gspca_main: main driver\n"; print "- gspca\\_\\ *driver*: subdriver module with *driver* as follows\n\n"; print "========= ========= " . "=" x $len . "\n"; print "*driver* vend:prod Device\n"; print "========= ========= " . "=" x $len . "\n"; foreach my $id (sort { $data{$a}->{usb_id} . $data{$a}->{driver} cmp $data{$b}->{usb_id} . $data{$b}->{driver} } keys %data) { next if (!$data{$id}->{valid}); my $s = sprintf "%-15s %s\t%s\n", $data{$id}->{driver}, $data{$id}->{usb_id}, $data{$id}->{name}; # Replace tabs by spaces $s =~ s/[ \t]+$//; $s =~ s<^ {8}> <\t>; $s =~ s<^ {1,7}\t> <\t>; $s =~ s< {1,7}\t> <\t>; printf $s; } print "========= ========= " . "=" x $len . "\n"; </script> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
c3739983