1. 24 Oct, 2016 4 commits
    • Mauro Carvalho Chehab's avatar
      [media] gspca-cardlist.rst: update cardlist from drivers USB IDs · c3739983
      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: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      c3739983
    • Mauro Carvalho Chehab's avatar
      [media] gspca-cardlist.rst: sort entries and adjust table margins · 959fe104
      Mauro Carvalho Chehab authored
      Some entries are out of order.
      
      While here, clear spaces/tabs.
      
      The content remains the same, with the exeption of one duplicated
      entry from the same driver, where two different brand names share
      the same entry. The content of such cell was merged, using a
      comma.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      959fe104
    • Mauro Carvalho Chehab's avatar
      [media] stv06xx: store device name after the USB_DEVICE line · b2fdd0ee
      Mauro Carvalho Chehab authored
      That makes easier to parse the names, in order to sync it
      with gspca-cardlist.rst.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      b2fdd0ee
    • Mauro Carvalho Chehab's avatar
      [media] spca506: rewrite a commented line to avoid wrong parsing · 0889e4a1
      Mauro Carvalho Chehab authored
      Keeping Documentation/media/v4l-drivers/gspca-cardlist.rst in
      sync with the gspca script requires a parser. Simplify the
      commented line, to make the parser work better.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      0889e4a1
  2. 21 Oct, 2016 36 commits