summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
Diffstat (limited to 'v4l')
-rw-r--r--v4l/Makefile13
-rwxr-xr-xv4l/scripts/make_kconfig.pl67
2 files changed, 63 insertions, 17 deletions
diff --git a/v4l/Makefile b/v4l/Makefile
index 2ad1ac135..ef3dc46e7 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -72,6 +72,7 @@ pvrusb2-objs := pvrusb2-i2c-core.o pvrusb2-i2c-cmd-v4l2.o \
pvrusb2-eeprom.o pvrusb2-tuner.o pvrusb2-demod.o \
pvrusb2-main.o pvrusb2-hdw.o pvrusb2-v4l2.o \
pvrusb2-sysfs.o pvrusb2-context.o pvrusb2-io.o \
+ pvrusb2-cx2584x-v4l.o pvrusb2-wm8775.o \
pvrusb2-ioread.o pvrusb2-debugifc.o
dvb-firesat-objs := firesat.o avc_api.o cmp.o firesat-rc.o
ivtv-objs := ivtv-driver.o ivtv-fileops.o ivtv-i2c.o ivtv-streams.o \
@@ -98,7 +99,8 @@ obj-$(CONFIG_VIDEO_CX88) += btcx-risc.o cx88xx.o cx8800.o cx8802.o \
obj-$(CONFIG_VIDEO_CX88_IVTV) += cx88-ivtv.o
obj-$(CONFIG_TVP5150) += tvp5150.o
obj-$(CONFIG_EM28XX) += em28xx.o tveeprom.o
-obj-$(CONFIG_VIDEO_DECODER) += saa7115.o cx25840.o saa7127.o bt832.o
+obj-$(CONFIG_VIDEO_DECODER) += saa7115.o cx25840.o saa7127.o bt832.o \
+ upd64031a.o upd64083.o
ifeq ($(CONFIG_VIDEO_ALSA),y)
EXTRA_CFLAGS += -DUSING_CX88_ALSA=1
@@ -114,7 +116,7 @@ obj-$(CONFIG_VIDEO_SAA7134) += saa7134-oss.o
obj-$(CONFIG_VIDEO_IR) += ir-common.o
obj-$(CONFIG_VIDEO_TUNER) += tuner.o tda9887.o saa6588.o
obj-$(CONFIG_VIDEO_TVAUDIO) += msp3400.o tvaudio.o tvmixer.o wm8775.o \
- cs53l32a.o tda7432.o tda9875.o
+ wm8739.o cs53l32a.o tda7432.o tda9875.o
obj-$(CONFIG_VIDEO_CPIA2) += cpia2.o
obj-$(CONFIG_VIDEO_CX88_DVB) += video-buf-dvb.o cx88-dvb.o cx88-vp3054-i2c.o
@@ -309,12 +311,13 @@ endif
inst_common := ir-common.ko
inst_video := btcx-risc.ko bttv.ko tda9887.ko tuner.ko tvaudio.ko tveeprom.ko saa6588.ko
#inst_video += bt87x.ko
-inst_video += tvmixer.ko v4l1-compat.ko v4l2-common.ko wm8775.ko cs53l32a.ko
+inst_video += tvmixer.ko v4l1-compat.ko v4l2-common.ko wm8775.ko wm8739.ko cs53l32a.ko
inst_video += video-buf.ko video-buf-dvb.ko
inst_video += videodev.ko
inst_video += ir-kbd-i2c.ko msp3400.ko
inst_video += tvp5150.ko saa7134-alsa.ko saa7134-oss.ko
inst_video += saa7115.ko cx25840.ko saa7127.ko compat_ioctl32.ko
+inst_video += upd64031a.ko upd64083.ko
inst_cx88 := cx88xx.ko cx8800.ko cx8802.ko cx88-alsa.ko cx88-dvb.ko
inst_video += vivi.ko
inst_cx88 += cx88-blackbird.ko cx88-vp3054-i2c.ko cx88-ivtv.ko
@@ -356,8 +359,8 @@ all:: default
default:: links .version
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules
-qconfig:: links .version
- ./scripts/make_kconfig.pl /usr/src/linux-2.6.14 $(ARCH)
+xconfig:: links .version
+ ./scripts/make_kconfig.pl $(ARCH)
$(KDIR)/scripts/kconfig/qconf Kconfig
ivtv-checkout::
diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl
index f612e83db..91c37693f 100755
--- a/v4l/scripts/make_kconfig.pl
+++ b/v4l/scripts/make_kconfig.pl
@@ -1,37 +1,80 @@
#!/usr/bin/perl
use FileHandle;
-my $KDIR=shift;
my $ARCH=shift;
+my %depend = ();
+my %config = ();
+
+sub add_config($)
+{
+ my $arg=shift;
+
+ if ($arg =~ m/^([A-Z0-9_]+)/) {
+ $config{$1} = 1;
+ }
+}
+
+sub check_deps($)
+{
+ my $arg=shift;
+ $arg=$arg." ";
+
+ while ($arg ne "") {
+ if ($arg =~ m/^([A-Z0-9_]+) /) {
+ my $val=$1;
+ my $prev=$depend{$val};
+ $depend { $val } = 1+$prev;
+ }
+ $arg =~ s/^[^ ]+ //;
+ }
+}
+
sub open_kconfig($$) {
my ($dir,$file)=@_;
my $in = new FileHandle;
-print "opening $file\n";
+#print "opening $file\n";
open $in,"$file";
while (<$in>) {
- if (m;^\s*source[\s\"]+drivers/media/(video|dvb)/Kconfig;) {
- next;
- }
+# if (m;^\s*source[\s\"]+drivers/media/(video|dvb)/Kconfig;) {
+# next;
+# }
if (m|^\s*source[\s\"]+([^\n\s\"]+)[\n\s\"]|) {
open_kconfig($dir,"$dir/$1");
next;
}
+ if (m|^\s+depends on (.*)\n|) {
+ check_deps ($1);
+ }
+ if (m|^\s+select (.*)\n|) {
+ check_deps ($1);
+ }
+ if (m|^\s*config (.*)\n|) {
+ add_config ($1);
+ }
+
s/^main(menu\s\"[^\"]+)/\1 - DON'T CHANGE IT!/;
print OUT $_;
}
close $in;
}
-open OUT,">Kconfig.kern";
-open_kconfig($KDIR,"$KDIR/arch/$ARCH/Kconfig");
-print OUT "endmenu\n";
-close OUT;
-
open OUT,">Kconfig";
print OUT "mainmenu \"V4L/DVB menu\"\n";
-open_kconfig ("../linux","../linux/drivers/media/video/Kconfig");
-open_kconfig ("../linux","../linux/drivers/media/dvb/Kconfig");
+
print OUT "source Kconfig.kern\n";
+open_kconfig ("../linux","../linux/drivers/media/Kconfig");
+
close OUT;
+
+while ( my ($key, $value) = each(%config) ) {
+ delete $depend{$key};
+}
+
+open OUT,">Kconfig.kern";
+while ( my ($key, $value) = each(%depend) ) {
+ print OUT "# $key with $value refs\nconfig $key\n\ttristate\n\tdefault m\n\n";
+}
+close OUT;
+