Mauro Carvalho Chehab
c3739983d4
[media] gspca-cardlist.rst: update cardlist from drivers USB IDs
...
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 >
2016-10-24 07:22:01 -02:00
..
2016-10-11 16:19:17 -06:00
2016-10-10 13:52:05 -07:00
2016-09-23 13:07:15 -06:00
2016-10-02 01:40:20 +02:00
2016-10-14 15:17:12 -07:00
2016-10-03 08:58:35 -07:00
2016-09-23 11:52:32 -06:00
2016-10-10 07:12:02 -06:00
2016-09-14 08:44:57 -06:00
2016-07-26 16:19:19 -07:00
2016-08-07 10:23:17 -04:00
2016-04-28 07:47:35 -06:00
2016-09-08 23:05:07 +02:00
2016-05-31 16:41:55 +08:00
2016-10-11 15:06:33 -07:00
2016-09-21 15:43:09 -06:00
2016-08-07 14:41:02 -06:00
2016-10-21 12:09:38 -02:00
2016-08-08 08:11:42 +05:30
2016-10-14 14:11:22 -07:00
2016-09-06 09:15:48 -06:00
2016-10-06 18:21:15 -07:00
2016-05-10 12:05:27 +03:00
2016-10-13 17:19:19 +02:00
2016-10-14 15:17:12 -07:00
2016-04-28 07:51:59 -06:00
2016-09-23 14:51:18 +02:00
2016-10-11 18:12:22 -07:00
2016-08-17 11:13:07 +02:00
2016-09-08 21:34:17 -07:00
2016-09-08 16:57:14 +02:00
2016-09-20 09:58:12 -06:00
2016-10-01 00:49:58 -06:00
2016-10-02 08:42:19 -04:00
2016-10-04 11:47:02 -07:00
2016-09-06 06:00:22 -06:00
2016-03-05 15:00:38 -08:00
2016-04-16 10:49:08 -06:00
2016-10-14 14:26:58 -07:00
2016-09-20 18:02:54 -06:00
2016-08-12 08:24:14 +02:00
2016-09-23 13:07:21 -06:00
2016-10-04 10:25:53 -07:00
2016-08-18 23:41:56 +02:00
2016-09-22 15:25:56 +02:00
2016-10-24 07:22:01 -02:00
2016-09-20 12:38:48 -06:00
2016-09-23 11:51:43 -06:00
2016-07-25 10:34:51 +02:00
2016-10-14 15:17:12 -07:00
2016-06-17 16:23:23 -07:00
2016-10-07 11:46:37 -07:00
2016-09-23 13:07:27 -06:00
2016-09-15 11:20:55 -07:00
2016-10-06 18:21:15 -07:00
2016-10-07 20:19:31 -07:00
2016-04-28 07:23:59 -06:00
2016-09-20 09:09:09 -06:00
2016-09-20 09:54:38 -06:00
2016-09-01 17:52:02 -07:00
2016-10-11 15:06:33 -07:00
2016-06-13 15:58:23 +02:00
2016-09-10 11:17:41 +02:00
2016-09-29 21:52:43 -04:00
2016-07-26 13:05:11 -07:00
2016-08-18 11:08:33 -06:00
2016-07-26 10:35:31 +02:00
2016-09-19 16:36:41 -03:00
2016-10-04 13:54:07 -07:00
2016-10-10 07:12:09 -06:00
2016-09-30 12:46:48 -05:00
2016-05-10 01:19:26 -07:00
2016-09-27 14:02:16 +08:00
2016-10-10 07:12:09 -06:00
2016-06-25 17:26:35 +03:00
2016-10-06 11:48:41 -07:00
2016-06-23 08:09:10 -06:00
2016-09-27 18:57:07 +02:00
2016-08-07 10:23:17 -04:00
2016-05-01 14:37:49 -07:00
2016-10-14 15:17:12 -07:00
2016-10-10 11:01:51 -07:00
2016-07-24 06:33:58 +03:00
2016-07-20 16:45:37 -06:00
2016-06-30 13:07:33 -06:00
2016-10-10 07:12:09 -06:00
2016-04-18 11:31:49 -06:00
2016-09-20 18:46:36 -06:00
2016-06-23 07:58:38 -06:00
2016-03-30 14:12:22 -07:00
2016-03-21 10:05:13 -07:00
2016-09-20 18:46:36 -06:00
2016-08-14 12:12:36 -06:00
2016-10-01 00:57:13 -06:00
2016-09-21 15:53:31 -06:00
2016-10-11 13:22:22 -07:00
2016-06-13 15:58:27 +02:00
2016-03-29 10:11:44 -07:00
2016-09-20 17:58:46 -06:00
2016-09-26 22:16:41 +05:30
2016-10-11 15:06:32 -07:00
2016-03-21 09:26:45 +01:00
2016-08-14 11:52:40 -06:00
2016-06-07 22:57:10 +02:00
2016-09-21 15:41:50 -06:00
2016-06-07 22:57:10 +02:00
2016-09-20 18:46:36 -06:00
2016-10-11 16:19:17 -06:00
2016-01-29 12:32:12 +01:00
2016-03-31 00:32:59 -06:00
2016-05-02 09:32:04 -07:00
2016-07-20 16:45:37 -06:00
2016-09-20 18:54:42 -06:00
2016-10-04 13:54:07 -07:00
2016-10-14 13:19:30 -07:00
2016-08-03 15:43:58 -06:00
2016-08-15 10:19:11 -06:00
2016-09-20 08:58:27 -06:00
2016-04-28 07:23:11 -06:00
2016-10-10 07:12:02 -06:00
2016-09-01 08:49:23 -06:00
2016-09-20 18:41:04 -06:00
2016-05-04 12:39:35 -07:00
2016-06-23 08:08:36 -06:00
2016-08-12 08:24:13 +02:00
2016-05-19 19:12:14 -07:00
2016-07-27 12:38:00 +09:30
2016-04-29 16:39:39 +02:00
2016-06-23 10:50:10 +02:00
2016-03-15 16:55:16 -07:00
2016-05-17 14:48:04 +02:00
2016-08-05 11:21:36 -07:00
2016-10-02 22:50:21 -07:00
2016-02-24 09:13:12 +01:00
2016-04-28 07:26:41 -06:00
2016-05-06 11:09:01 -07:00
2016-03-14 17:08:16 +01:00
2016-09-20 18:41:04 -06:00
2016-09-20 18:41:04 -06:00
2016-09-21 15:43:09 -06:00
2016-09-07 09:41:11 +01:00
2016-09-21 15:43:09 -06:00
2016-09-21 15:43:09 -06:00
2016-09-21 15:43:09 -06:00
2016-08-11 15:33:24 +05:30
2016-04-28 08:02:36 -06:00
2016-08-31 13:20:16 +02:00
2016-07-06 02:37:38 -06:00
2016-04-28 07:44:54 -06:00