summaryrefslogtreecommitdiff
path: root/v4l/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'v4l/scripts')
-rwxr-xr-xv4l/scripts/make_kconfig.pl46
-rwxr-xr-xv4l/scripts/make_noconfig.pl5
2 files changed, 44 insertions, 7 deletions
diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl
index b1d6f5d53..11392c32d 100755
--- a/v4l/scripts/make_kconfig.pl
+++ b/v4l/scripts/make_kconfig.pl
@@ -4,8 +4,27 @@ use FileHandle;
my %depend = ();
my %minver = ();
my %config = ();
+my %tristate = ();
my $version, $level, $sublevel;
+my $force_kconfig=shift;
+
+sub add_bool($)
+{
+ my $arg=shift;
+
+ $tristate{$arg}="bool";
+ printf "Boolean:%s\n",$arg;
+}
+
+sub add_tristate($)
+{
+ my $arg=shift;
+
+ $tristate{$arg}="tristate";
+ printf "Tristate:%s\n",$arg;
+}
+
sub add_config($)
{
my $arg=shift;
@@ -34,6 +53,7 @@ sub open_kconfig($$) {
my ($dir,$file)=@_;
my $in = new FileHandle;
my $skip=0;
+ my $key;
#print "opening $file\n";
open $in,"$file";
@@ -51,9 +71,14 @@ sub open_kconfig($$) {
if (m|^\s+select (.*)\n|) {
check_deps ($1);
}
+ if (m|^\s*bool\s+|) {
+ add_bool($key);
+ }
+ if (m|^\s*tristate\s+|) {
+ add_tristate($key);
+ }
if (m|^\s*config (.*)\n|) {
- my $key=$1;
-
+ $key=$1;
add_config ($1);
my $min=$minver { $key };
@@ -139,9 +164,26 @@ while ( my ($key, $value) = each(%config) ) {
open OUT,">Kconfig.kern";
print OUT "config MODULES\n\tboolean\n\tdefault y\n\n";
+$tristate{"MODULES"}="bool";
while ( my ($key, $value) = each(%depend) ) {
print OUT "# $key with $value refs\nconfig $key\n\ttristate\n\tdefault m\n\n";
}
close OUT;
+if (($force_kconfig eq 1) || !open IN,".config") {
+ open OUT,">.config";
+ while ( my ($key,$value) = each(%tristate) ) {
+
+ if ($key eq "DVB_AV7110_FIRMWARE") {
+ printf OUT "CONFIG_%s=n\n",$key;
+ } else {
+ if ($value eq "tristate") {
+ printf OUT "CONFIG_%s=m\n",$key;
+ } else {
+ printf OUT "CONFIG_%s=y\n",$key;
+ }
+ }
+ }
+ close OUT;
+}
diff --git a/v4l/scripts/make_noconfig.pl b/v4l/scripts/make_noconfig.pl
index 94f80a954..503653a4f 100755
--- a/v4l/scripts/make_noconfig.pl
+++ b/v4l/scripts/make_noconfig.pl
@@ -55,11 +55,6 @@ close IN;
open OUT,">.myconfig";
while ( my ($key, $value) = each(%config) ) {
- if ($key ne CONFIG_DVB_AV7110_OSD &&
- $key ne CONFIG_DVB_AV7110_FIRMWARE &&
- $value eq "y") {
- $value="m";
- }
printf OUT "%-44s := %s\n",$key,$value;
}
close OUT;