summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
Diffstat (limited to 'v4l')
-rw-r--r--v4l/Makefile23
-rwxr-xr-xv4l/scripts/make_kconfig.pl46
-rwxr-xr-xv4l/scripts/make_noconfig.pl3
-rw-r--r--v4l/versions.txt5
4 files changed, 66 insertions, 11 deletions
diff --git a/v4l/Makefile b/v4l/Makefile
index e932eeb65..9acafb007 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -217,17 +217,27 @@ reload::
#################################################
# Configuration rules
+# SHELL used by kbuild
+CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
+ else if [ -x /bin/bash ]; then echo /bin/bash; \
+ else echo sh; fi ; fi)
+
+build := srctree=$(KDIR) HOSTCXX=$(CXX) HOSTCC=$(CC) CONFIG_SHELL=$(CONFIG_SHELL) -f $(KDIR)/scripts/Makefile.build obj
+
xconfig:: links .version
+ $(MAKE) -C $(KDIR) $(build)=scripts/kconfig qconf-target=1 scripts/kconfig/qconf
./scripts/make_kconfig.pl
$(KDIR)/scripts/kconfig/qconf Kconfig
./scripts/make_noconfig.pl
gconfig:: links .version
+ $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/gconf
./scripts/make_kconfig.pl
$(KDIR)/scripts/kconfig/gconf Kconfig
./scripts/make_noconfig.pl
config:: links .version
+ $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/conf
./scripts/make_kconfig.pl
$(KDIR)/scripts/kconfig/conf Kconfig
./scripts/make_noconfig.pl
@@ -236,21 +246,24 @@ menuconfig:: links .version
./scripts/make_kconfig.pl
-rm scripts/lxdialog scripts/kconfig
-if [ -d $(KDIR)/scripts/lxdialog ]; then \
+ $(MAKE) -C $(KDIR) $(build)=scripts/lxdialog; \
ln -s $(KDIR)/scripts/lxdialog scripts/lxdialog; \
fi
-if [ -d $(KDIR)/scripts/kconfig ]; then \
+ if [ -d $(KDIR)/scripts/kconfig/lxdialog ]; then \
+ $(MAKE) -C $(KDIR) $(build)=scripts/kconfig/lxdialog; \
+ else \
+ $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/mconf; \
+ fi; \
ln -s $(KDIR)/scripts/kconfig scripts/kconfig; \
fi
$(KDIR)/scripts/kconfig/mconf Kconfig
./scripts/make_noconfig.pl
-allmodconfig:: links .version
- ./scripts/make_kconfig.pl
- $(KDIR)/scripts/kconfig/conf -m Kconfig
- cat .config|grep -v CONFIG_DVB_AV7110_FIRMWARE >.config.new
- mv .config.new .config
+allyesconfig allmodconfig:: links .version
+ ./scripts/make_kconfig.pl 1
./scripts/make_noconfig.pl
#################################################
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 a47ca4acf..503653a4f 100755
--- a/v4l/scripts/make_noconfig.pl
+++ b/v4l/scripts/make_noconfig.pl
@@ -55,9 +55,6 @@ close IN;
open OUT,">.myconfig";
while ( my ($key, $value) = each(%config) ) {
- if ($value eq "y") {
- $value="m";
- }
printf OUT "%-44s := %s\n",$key,$value;
}
close OUT;
diff --git a/v4l/versions.txt b/v4l/versions.txt
index 255a31b17..1d4209680 100644
--- a/v4l/versions.txt
+++ b/v4l/versions.txt
@@ -17,7 +17,7 @@ USB_IBMCAM
USB_KONICAWC
USB_ET61X251
USB_PWC
-USB_SN9C102
+USB_PWC_DEBUG
USB_ZC0301
[2.6.14]
@@ -75,6 +75,9 @@ RADIO_TYPHOON_MUTEFREQ
RADIO_ZOLTRIX
RADIO_ZOLTRIX_PORT
+[2.6.13]
+USB_SN9C102
+
[2.6.12]
VIDEO_VIVI
VIDEO_DEV