diff options
-rw-r--r-- | .hgignore | 1 | ||||
-rw-r--r-- | v4l/Make.config | 121 | ||||
-rw-r--r-- | v4l/Makefile | 274 | ||||
-rw-r--r-- | v4l/Makefile.kern24 | 28 | ||||
-rwxr-xr-x | v4l/scripts/make_kconfig.pl | 73 | ||||
-rw-r--r-- | v4l/scripts/make_makefile.pl | 109 | ||||
-rw-r--r-- | v4l/scripts/make_noconfig.pl | 60 | ||||
-rw-r--r-- | v4l/versions.txt | 152 |
8 files changed, 451 insertions, 367 deletions
@@ -7,6 +7,7 @@ v4l/.kconfig.d v4l/.tmpconfig.h v4l/Kconfig v4l/Kconfig.kern +v4l/Makefile.media .*[.]rej .*[.]orig .*[~] diff --git a/v4l/Make.config b/v4l/Make.config deleted file mode 100644 index 98df1af83..000000000 --- a/v4l/Make.config +++ /dev/null @@ -1,121 +0,0 @@ -MDIR := v4l2 -snap := video4linux - -CONFIG_VIDEO_BTTV := m -CONFIG_VIDEO_SAA7134 := m -CONFIG_VIDEO_IR := m -CONFIG_VIDEO_TUNER := m -CONFIG_VIDEO_TVAUDIO := m -CONFIG_VIDEO_CX88 := m - -CONFIG_TVP5150 := m - -#enable experimental support for xc3028 tuner -CONFIG_XC3028 := m - -CONFIG_VIDEO_DECODER := m - -CONFIG_VIDEO_ALSA := y - -CONFIG_VIDEO_ADV_DEBUG := y - -CONFIG_VIDEO_PVRUSB2 := m -CONFIG_VIDEO_PVRUSB2_SYSFS := y -CONFIG_VIDEO_PVRUSB2_DEBUGIFC := y - -CONFIG_VIDEO_IVTV := n - -CONFIG_DVB_FIRESAT := n - -CONFIG_VIRTUAL_DEVICE := m -CONFIG_VIDEO_CPIA2 := m - -CONFIG_VIDEO_CX88_IVTV := n - -CONFIG_VIDEO_MXB := m - -# doesn't build on older kernels - -CONFIG_DVB_CORE := n -CONFIG_VIDEO_BUF_DVB := n -CONFIG_VIDEO_CX88_DVB := n -CONFIG_VIDEO_SAA7134_DVB := n - -# requires dvb-core - -CONFIG_DVB_BT8XX := n -CONFIG_DVB_FRONTENDS := n -CONFIG_DVB_B2C2_FLEXCOP := n -CONFIG_DVB_B2C2_FLEXCOP_PCI := n -CONFIG_DVB_B2C2_FLEXCOP_USB := n -CONFIG_DVB_CINERGYT2 := n -CONFIG_DVB_USB := n -CONFIG_DVB_USB_VP7045 := n -CONFIG_DVB_USB_VP702X := n -CONFIG_DVB_USB_DTT200U := n -CONFIG_DVB_USB_A800 := n -CONFIG_DVB_USB_DIBUSB_MB := n -CONFIG_DVB_USB_DIBUSB_MC := n -CONFIG_DVB_USB_NOVA_T_USB2 := n -CONFIG_DVB_USB_UMT_010 := n -CONFIG_DVB_USB_DIGITV := n -CONFIG_DVB_USB_CXUSB := n -CONFIG_DVB_PLUTO2 := n -CONFIG_DVB_BUDGET := n -CONFIG_DVB_BUDGET_AV := n -CONFIG_DVB_BUDGET_CI := n -CONFIG_DVB_BUDGET_PATCH := n -CONFIG_DVB_AV7110 := n -CONFIG_DVB_TTUSB_BUDGET := n -CONFIG_DVB_TTUSB_DEC := n -CONFIG_VIDEO_SAA7146 := n -CONFIG_VIDEO_SAA7146_VV := n - -ifneq ($(KERNELRELEASE),) - CONFIG_DVB_CORE := $(shell test $(SUBLEVEL) -ge 10 -a $(PATCHLEVEL) -ge 6 && echo m) - CONFIG_VIDEO_BUF_DVB := $(shell test $(SUBLEVEL) -ge 12 -a $(PATCHLEVEL) -ge 6 && echo m) - CONFIG_VIDEO_DEV := $(shell test $(PATCHLEVEL) -ge 6 && echo m) - CONFIG_EM28XX := $(shell test $(PATCHLEVEL) -ge 6 && echo m) -endif - -ifeq ($(CONFIG_VIDEO_BUF_DVB),m) - CONFIG_VIDEO_CX88_DVB := m - CONFIG_VIDEO_SAA7134_DVB := m -endif - -ifeq ($(CONFIG_DVB_CORE),m) - CONFIG_DVB_BT8XX := m - CONFIG_DVB_FRONTENDS := m - CONFIG_DVB_B2C2_FLEXCOP := m - CONFIG_DVB_B2C2_FLEXCOP_PCI := m - CONFIG_DVB_B2C2_FLEXCOP_USB := m - CONFIG_DVB_CINERGYT2 := m - CONFIG_DVB_USB := m - CONFIG_DVB_USB_VP7045 := m - CONFIG_DVB_USB_VP702X := m - CONFIG_DVB_USB_DTT200U := m - CONFIG_DVB_USB_A800 := m - CONFIG_DVB_USB_DIBUSB_MB := m - CONFIG_DVB_USB_DIBUSB_MC := m - CONFIG_DVB_USB_NOVA_T_USB2 := m - CONFIG_DVB_USB_UMT_010 := m - CONFIG_DVB_USB_DIGITV := m - CONFIG_DVB_USB_CXUSB := m - CONFIG_DVB_PLUTO2 := m - CONFIG_DVB_BUDGET := m - CONFIG_DVB_BUDGET_AV := m - CONFIG_DVB_BUDGET_CI := m - CONFIG_DVB_BUDGET_PATCH := m - CONFIG_DVB_AV7110 := m - CONFIG_DVB_AV7110_OSD := y -# Uncomment the next two lines to compile the av7110 firmware into the driver. -# CONFIG_DVB_AV7110_FIRMWARE := y -# CONFIG_DVB_AV7110_FIRMWARE_FILE := /path/to/firmware/dvb-ttpci-01.fw - CONFIG_DVB_TTUSB_BUDGET := m - CONFIG_DVB_TTUSB_DEC := m - CONFIG_VIDEO_SAA7146 := m - CONFIG_VIDEO_SAA7146_VV := m -endif - -CONFIG_VIDEO_IVTV := $(if $(wildcard $(src)/ivtv-svnversion.h),m) -CONFIG_VIDEO_CX88_IVTV := $(if $(wildcard $(src)/cx88-ivtv.c),m) diff --git a/v4l/Makefile b/v4l/Makefile index a66036f68..1f9cfa05b 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -5,223 +5,23 @@ endif ################################################# # configuration -include $(obj)/Make.config - -# symbol exports -export-objs := video-buf.o v4l1-compat.o v4l2-common.o -export-objs += ir-common.o -ifeq ($(CONFIG_VIDEO_DEV),m) -export-objs += videodev.o -endif -export-objs += bttv-if.o btcx-risc.o -export-objs += cx88-cards.o cx88-core.o -export-objs += saa7134-core.o saa7134-tvaudio.o - -# drivers objects -ir-common-objs := ir-keymaps.o ir-functions.o -bttv-objs := bttv-driver.o bttv-cards.o bttv-risc.o bttv-if.o \ - bttv-vbi.o bttv-i2c.o bttv-input.o -saa7134-objs := saa7134-core.o saa7134-i2c.o saa7134-video.o \ - saa7134-vbi.o saa7134-tvaudio.o \ - saa7134-cards.o saa7134-ts.o saa7134-input.o - - -cx88xx-objs := cx88-cards.o cx88-core.o cx88-i2c.o cx88-tvaudio.o \ - cx88-input.o -cx8800-objs := cx88-video.o cx88-vbi.o -cx8802-objs := cx88-mpeg.o -tuner-objs := tuner-core.o tuner-types.o tuner-simple.o mt20xx.o tda8290.o tea5767.o -ifeq ($(CONFIG_XC3028),m) -tuner-objs += xc3028.o -endif -msp3400-objs := msp3400-driver.o msp3400-kthreads.o -list-multi := bttv.o saa7134.o cx88xx.o cx8800.o cx88-alsa.o cx8802.o -em28xx-objs := em28xx-video.o em28xx-i2c.o em28xx-cards.o em28xx-core.o \ - em28xx-input.o -cx25840-objs := cx25840-core.o cx25840-audio.o cx25840-firmware.o \ - cx25840-vbi.o -dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o dvb_filter.o \ - dvb_ca_en50221.o dvb_frontend.o \ - dvb_net.o dvb_ringbuffer.o -b2c2-flexcop-objs := flexcop.o flexcop-fe-tuner.o flexcop-i2c.o \ - flexcop-sram.o flexcop-eeprom.o flexcop-misc.o \ - flexcop-hw-filter.o flexcop-dma.o -b2c2-flexcop-pci-objs := flexcop-pci.o -b2c2-flexcop-usb-objs := flexcop-usb.o -dvb-usb-objs := dvb-usb-firmware.o dvb-usb-init.o dvb-usb-urb.o \ - dvb-usb-i2c.o dvb-usb-dvb.o dvb-usb-remote.o -dvb-usb-vp7045-objs := vp7045.o vp7045-fe.o -dvb-usb-vp702x-objs := vp702x.o vp702x-fe.o -dvb-usb-dtt200u-objs := dtt200u.o dtt200u-fe.o -dvb-usb-dibusb-common-objs := dibusb-common.o -dvb-usb-a800-objs := a800.o -dvb-usb-dibusb-mb-objs := dibusb-mb.o -dvb-usb-dibusb-mc-objs := dibusb-mc.o -dvb-usb-nova-t-usb2-objs := nova-t-usb2.o -dvb-usb-umt-010-objs := umt-010.o -dvb-usb-digitv-objs := digitv.o -dvb-usb-cxusb-objs := cxusb.o -dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o \ - av7110_ca.o av7110.o av7110_ipack.o av7110_ir.o -saa7146-objs := saa7146_i2c.o saa7146_core.o -saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o \ - saa7146_video.o saa7146_hlp.o saa7146_vbi.o -pvrusb2-objs := pvrusb2-i2c-core.o pvrusb2-i2c-cmd-v4l2.o \ - pvrusb2-audio.o pvrusb2-i2c-chips-v4l2.o \ - pvrusb2-encoder.o pvrusb2-video-v4l.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 \ - ivtv-firmware.o ivtv-reset.o ivtv-gpio.o ivtv-queue.o \ - ivtv-irq.o ivtv-mailbox.o ivtv-vbi.o ivtv-kthreads.o \ - ivtv-audio.o ivtv-ioctl.o ivtv-controls.o ivtv-video.o \ - ivtv-cards.o ivtv-yuv.o -ivtv-fb-objs := ivtv-osd.o ivtv-queue.o -cpia2-objs := cpia2_core.o cpia2_usb.o cpia2_v4l.o - -obj-m := video-buf.o v4l1-compat.o v4l2-common.o -obj-m += compat_ioctl32.o -ifeq ($(CONFIG_VIDEO_DEV),m) -obj-m += videodev.o -endif - -obj-$(CONFIG_VIDEO_MXB) += mxb.o tea6420.o tea6415c.o tda9840.o -obj-$(CONFIG_VIDEO_DPC) += dpc7146.o -obj-$(CONFIG_VIDEO_HEXIUM_ORION)+= hexium_orion.o -obj-$(CONFIG_VIDEO_HEXIUM_GEMINI)+= hexium_gemini.o -obj-$(CONFIG_VIDEO_BTTV) += btcx-risc.o ir-common.o bttv.o tveeprom.o -obj-$(CONFIG_VIDEO_CX88) += btcx-risc.o cx88xx.o cx8800.o cx8802.o \ - cx88-blackbird.o tveeprom.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 \ - upd64031a.o upd64083.o - -ifeq ($(CONFIG_VIDEO_ALSA),y) - EXTRA_CFLAGS += -DUSING_CX88_ALSA=1 - obj-$(CONFIG_VIDEO_CX88) += cx88-alsa.o - obj-$(CONFIG_VIDEO_SAA7134) += saa7134-alsa.o -## This one is installed by ALSA as snd_bt87x -# obj-$(CONFIG_VIDEO_BTTV) += bt87x.o -endif - -obj-$(CONFIG_VIRTUAL_DEVICE) += vivi.o -obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o saa6752hs.o -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 \ - 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 -obj-$(CONFIG_VIDEO_SAA7134_DVB) += video-buf-dvb.o saa7134-dvb.o -obj-$(CONFIG_DVB_BT8XX) += bt878.o dvb-bt8xx.o dst.o dst_ca.o -obj-$(CONFIG_DVB_FRONTENDS) += dvb-pll.o cx22702.o or51132.o lgdt330x.o \ - mt352.o tda1004x.o sp887x.o nxt6000.o \ - cx24110.o or51211.o nxt200x.o cx24123.o \ - mt312.o stv0299.o bcm3510.o \ - dib3000-common.o dib3000mb.o dib3000mc.o \ - ves1820.o cx22700.o tda8083.o ves1x93.o \ - stv0297.o sp8870.o l64781.o s5h1420.o \ - tda10021.o at76c651.o tda80xx.o zl10353.o -obj-$(CONFIG_DVB_CORE) += dvb-core.o -obj-$(CONFIG_DVB_B2C2_FLEXCOP) += b2c2-flexcop.o -obj-$(CONFIG_DVB_B2C2_FLEXCOP) += stv0297_cs2.o -obj-$(CONFIG_DVB_B2C2_FLEXCOP_PCI) += b2c2-flexcop-pci.o -obj-$(CONFIG_DVB_B2C2_FLEXCOP_USB) += b2c2-flexcop-usb.o -obj-$(CONFIG_DVB_CINERGYT2) += cinergyT2.o -obj-$(CONFIG_DVB_PLUTO2) += pluto2.o -obj-$(CONFIG_DVB_TTUSB_BUDGET) += dvb-ttusb-budget.o -obj-$(CONFIG_DVB_TTUSB_DEC) += ttusb_dec.o ttusbdecfe.o -obj-$(CONFIG_DVB_USB) += dvb-usb.o -obj-$(CONFIG_DVB_USB_VP7045) += dvb-usb-vp7045.o -obj-$(CONFIG_DVB_USB_VP702X) += dvb-usb-vp702x.o -obj-$(CONFIG_DVB_USB_DTT200U) += dvb-usb-dtt200u.o -obj-$(CONFIG_DVB_USB_A800) += dvb-usb-dibusb-common.o dvb-usb-a800.o -obj-$(CONFIG_DVB_USB_DIBUSB_MB) += dvb-usb-dibusb-common.o dvb-usb-dibusb-mb.o -obj-$(CONFIG_DVB_USB_DIBUSB_MC) += dvb-usb-dibusb-common.o dvb-usb-dibusb-mc.o -obj-$(CONFIG_DVB_USB_NOVA_T_USB2) += dvb-usb-dibusb-common.o \ - dvb-usb-nova-t-usb2.o -obj-$(CONFIG_DVB_USB_UMT_010) += dvb-usb-dibusb-common.o dvb-usb-umt-010.o -obj-$(CONFIG_DVB_USB_DIGITV) += dvb-usb-digitv.o -obj-$(CONFIG_DVB_USB_CXUSB) += dvb-usb-cxusb.o -obj-$(CONFIG_DVB_BUDGET) += budget-core.o budget.o ttpci-eeprom.o -obj-$(CONFIG_DVB_BUDGET_AV) += budget-core.o budget-av.o ttpci-eeprom.o -obj-$(CONFIG_DVB_BUDGET_CI) += budget-core.o budget-ci.o ttpci-eeprom.o -obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-core.o budget-patch.o ttpci-eeprom.o -obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ttpci-eeprom.o -obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o -obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o -obj-$(CONFIG_VIDEO_PVRUSB2) += pvrusb2.o -obj-$(CONFIG_DVB_FIRESAT) += dvb-firesat.o -obj-$(CONFIG_VIDEO_IVTV) += ivtv.o ivtv-fb.o - -# 2.6-only stuff -ifeq ($(VERSION).$(PATCHLEVEL),2.6) - ifeq ($(CONFIG_VIDEO_BTTV),m) - bttv-objs += bttv-gpio.o - obj-$(CONFIG_VIDEO_IR) += ir-kbd-i2c.o - endif - ifeq ($(CONFIG_VIDEO_SAA7134),m) - obj-$(CONFIG_VIDEO_IR) += ir-kbd-i2c.o - endif -endif - -ifeq ($(CONFIG_VIDEO_ADV_DEBUG),y) - EXTRA_CFLAGS += -DCONFIG_VIDEO_ADV_DEBUG=1 -endif - -ifeq ($(CONFIG_XC3028),m) - EXTRA_CFLAGS += -DCONFIG_XC3028=1 -endif +-include $(obj)/.myconfig +-include $(obj)/Makefile.media # for DVB EXTRA_CFLAGS += -DDVB_CVS=1 EXTRA_CFLAGS += -I$(srctree)/drivers/media/dvb/dvb-core/ EXTRA_CFLAGS += -I$(srctree)/drivers/media/dvb/frontends/ ifeq ($(CONFIG_DVB_FIRESAT),m) - EXTRA_CFLAGS += -I$(srctree)/drivers/ieee1394/ -endif -ifeq ($(CONFIG_VIDEO_CX88_DVB),m) - EXTRA_CFLAGS += -DCONFIG_VIDEO_CX88_DVB_MODULE=1 - EXTRA_CFLAGS += -DHAVE_CX22702=1 - EXTRA_CFLAGS += -DHAVE_OR51132=1 - EXTRA_CFLAGS += -DHAVE_LGDT330X=1 - EXTRA_CFLAGS += -DHAVE_MT352=1 - EXTRA_CFLAGS += -DHAVE_ZL10353=1 - EXTRA_CFLAGS += -DHAVE_NXT200X=1 - EXTRA_CFLAGS += -DHAVE_CX24123=1 - EXTRA_CFLAGS += -DHAVE_VP3054_I2C=1 -endif -ifeq ($(CONFIG_VIDEO_SAA7134_DVB),m) - EXTRA_CFLAGS += -DHAVE_MT352=1 - EXTRA_CFLAGS += -DHAVE_TDA1004X=1 - EXTRA_CFLAGS += -DHAVE_NXT200X=1 + EXTRA_CFLAGS += -I$(srctree)/drivers/ieee1394/ endif + ifeq ($(CONFIG_VIDEO_BUF_DVB),m) EXTRA_CFLAGS += -DHAVE_VIDEO_BUF_DVB=1 endif -ifeq ($(CONFIG_DVB_AV7110_OSD),y) - EXTRA_CFLAGS += -DCONFIG_DVB_AV7110_OSD=1 -endif -ifeq ($(CONFIG_DVB_AV7110_FIRMWARE),y) -src := $(PWD) - -$(src)/av7110.c: $(obj)/av7110_firm.h -$(obj)/fdump: - $(CC) -o $@ $(src)/fdump.c - -$(obj)/av7110_firm.h: $(obj)/fdump - $(obj)/fdump $(CONFIG_DVB_AV7110_FIRMWARE_FILE) dvb_ttpci_fw $@ - -EXTRA_CFLAGS += -DCONFIG_DVB_AV7110_FIRMWARE_FILE +ifeq ($(CONFIG_DVB_AV7110_FIRMWARE),y) + EXTRA_CFLAGS += -DCONFIG_DVB_AV7110_FIRMWARE_FILE endif # for pvrusb2 @@ -235,17 +35,10 @@ ifeq ($(CONFIG_VIDEO_PVRUSB2_24XXX),y) EXTRA_CFLAGS += -DCONFIG_VIDEO_PVRUSB2_24XXX endif -ifeq ($(ARCH),) -ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ - -e s/arm.*/arm/ -e s/sa110/arm/ \ - -e s/s390x/s390/ -e s/parisc64/parisc/ ) -endif - ################################################# # compile modules ifneq ($(KERNELRELEASE),) - ifeq ($(VERSION).$(PATCHLEVEL),2.6) export-objs := list-multi := @@ -266,33 +59,7 @@ SNAPSHOT_CFLAGS := -DSNAPSHOT='$(shell cat $(snapshot))' EXTRA_CFLAGS += $(SNAPSHOT_CFLAGS) endif -# -# Need to compile with kernel 2.4 -# -bttv.o: $(bttv-objs) - $(LD) -r -o $@ $(bttv-objs) - -cx25840.o: $(cx25840-objs) - $(LD) -g -r -o $@ $(cx25840-objs) - -cx8800.o: $(cx8800-objs) - $(LD) -g -r -o $@ $(cx8800-objs) - -cx8802.o: $(cx8802-objs) - $(LD) -g -r -o $@ $(cx8802-objs) - -cx88xx.o: $(cx88xx-objs) - $(LD) -g -r -o $@ $(cx88xx-objs) - -em28xx.o: $(em28xx-objs) - $(LD) -g -r -o $@ $(em28xx-objs) - -saa7134.o: $(saa7134-objs) - $(LD) -g -r -o $@ $(saa7134-objs) - -tuner.o: $(tuner-objs) - $(LD) -g -r -o $@ $(tuner-objs) - +include $(obj)/Makefile.kern24 -include $(TOPDIR)/Rules.make else # take version info from last module build if available @@ -366,12 +133,33 @@ export LC_ALL all:: default -default:: links .version +Makefile.media:: + scripts/make_makefile.pl + +default:: Makefile.media links .version $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules xconfig:: links .version - ./scripts/make_kconfig.pl $(ARCH) + ./scripts/make_kconfig.pl $(KDIR)/scripts/kconfig/qconf Kconfig + ./scripts/make_noconfig.pl + +gconfig:: links .version + ./scripts/make_kconfig.pl + $(KDIR)/scripts/kconfig/gconf Kconfig + ./scripts/make_noconfig.pl + +config:: links .version + ./scripts/make_kconfig.pl + $(KDIR)/scripts/kconfig/conf 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 + ./scripts/make_noconfig.pl ivtv-checkout:: @if [ ! -d ivtv ]; then \ @@ -557,7 +345,7 @@ clean:: Kconfig Kconfig.kern .config .config.cmd distclean:: clean - -rm -f .version .*.o.flags .*.o.d + -rm -f .version .*.o.flags .*.o.d Makefile.media -rm -rf .tmp_versions @find .. -name '*.orig' -exec rm '{}' \; @find .. -name '*.rej' -exec rm '{}' \; diff --git a/v4l/Makefile.kern24 b/v4l/Makefile.kern24 new file mode 100644 index 000000000..2bab09aee --- /dev/null +++ b/v4l/Makefile.kern24 @@ -0,0 +1,28 @@ +# +# Need to compile with kernel 2.4 +# + +bttv.o: $(bttv-objs) + $(LD) -r -o $@ $(bttv-objs) + +cx25840.o: $(cx25840-objs) + $(LD) -g -r -o $@ $(cx25840-objs) + +cx8800.o: $(cx8800-objs) + $(LD) -g -r -o $@ $(cx8800-objs) + +cx8802.o: $(cx8802-objs) + $(LD) -g -r -o $@ $(cx8802-objs) + +cx88xx.o: $(cx88xx-objs) + $(LD) -g -r -o $@ $(cx88xx-objs) + +em28xx.o: $(em28xx-objs) + $(LD) -g -r -o $@ $(em28xx-objs) + +saa7134.o: $(saa7134-objs) + $(LD) -g -r -o $@ $(saa7134-objs) + +tuner.o: $(tuner-objs) + $(LD) -g -r -o $@ $(tuner-objs) + diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl index 91c37693f..b1d6f5d53 100755 --- a/v4l/scripts/make_kconfig.pl +++ b/v4l/scripts/make_kconfig.pl @@ -1,10 +1,10 @@ #!/usr/bin/perl use FileHandle; -my $ARCH=shift; - my %depend = (); +my %minver = (); my %config = (); +my $version, $level, $sublevel; sub add_config($) { @@ -33,6 +33,7 @@ sub check_deps($) sub open_kconfig($$) { my ($dir,$file)=@_; my $in = new FileHandle; + my $skip=0; #print "opening $file\n"; open $in,"$file"; @@ -51,15 +52,78 @@ sub open_kconfig($$) { check_deps ($1); } if (m|^\s*config (.*)\n|) { + my $key=$1; + add_config ($1); + + my $min=$minver { $key }; + my $minversion, $minlevel, $minsublevel; + if ($min =~ m/(\d+)\.(\d+)\.(\d+)/) { + $minversion=$1; + $minlevel=$2; + $minsublevel=$3; + } else { + die "Minimum version for $key not found at versions.txt"; + } + if ( ($version < $minversion) | + ($level < $minlevel) | + ($sublevel < $minsublevel) ) { + $skip=1; + printf "$key requires version $minversion.$minlevel.$minsublevel\n"; + + print OUT "# $key disabled due to incorrect version\nconfig $key\n\ttristate\n\tdefault n\n\n"; + next; + } else { +# printf "OK: $key requires version $minversion.$minlevel.$minsublevel\n"; + $skip=0; + } } s/^main(menu\s\"[^\"]+)/\1 - DON'T CHANGE IT!/; - print OUT $_; + if (m/^[\w]/) { + $skip=0; + } + if (!$skip) { + print OUT $_; + } + } + close $in; +} + +sub parse_versions () +{ + my $in = new FileHandle; + my $ver; + + open $in,"versions.txt"; + while (<$in>) { + if (m/\[([\d.]*)\]/) { + $ver=$1; + next; + } + s/\n//; + if (m/^\s*([\w\d_]+)/) { + $minver { $1 } = $ver; +# printf ("%s=%s\n",$1,$ver); + } } close $in; } +parse_versions; + +open IN,".version"; +while (<IN>) { + if (m/KERNELRELEASE\s*[:]*[=]+\s*(\d+)\.(\d+)\.(\d+)/) { + $version=$1; + $level=$2; + $sublevel=$3; + } +} +close IN; + +printf "Preparing to compile for kernel version %d.%d.%d\n",$version,$level,$sublevel; + open OUT,">Kconfig"; print OUT "mainmenu \"V4L/DVB menu\"\n"; @@ -73,6 +137,9 @@ while ( my ($key, $value) = each(%config) ) { } open OUT,">Kconfig.kern"; + +print OUT "config MODULES\n\tboolean\n\tdefault y\n\n"; + while ( my ($key, $value) = each(%depend) ) { print OUT "# $key with $value refs\nconfig $key\n\ttristate\n\tdefault m\n\n"; } diff --git a/v4l/scripts/make_makefile.pl b/v4l/scripts/make_makefile.pl new file mode 100644 index 000000000..135b8bdb1 --- /dev/null +++ b/v4l/scripts/make_makefile.pl @@ -0,0 +1,109 @@ +#!/usr/bin/perl +use FileHandle; + +sub check_line($$$) +{ + my $dir=shift; + my $obj=shift; + my $arg=shift; + my $arg2=""; + + $arg=$arg." "; + + while ($arg ne "") { + if ($arg =~ m|^([^ /]+)/ |) { + my $newdir=$1; +# print "include $dir/$newdir/Makefile\n"; + open_makefile("$dir/$newdir/Makefile"); + $arg =~ s/^[^ ]+ //; + } else { + $arg =~ s/^([^ ]+ )//; + $arg2 = $arg2.$1; + } + } + $arg2 =~ s/\s+$//; + if ($arg2 ne "") { +# print "arg=$arg2\n"; + print OUT "$obj$arg2\n"; + } +} + +sub remove_includes($$) +{ + my $obj=shift; + my $arg=shift; + my $arg2=""; + + $arg=$arg." "; + + while ($arg ne "") { + if (!$arg =~ m|^(-I\s*[^ ]+) |) { + $arg2 = $arg2.$1; + $arg =~ s|^[^ ] ||; + } else { + $arg =~ s|^(-I\s*[^ ]+) ||; + } + } + if ($arg2 ne "") { + print OUT "$obj$arg2\n"; + } +} + +sub open_makefile($) { + my $file= shift; + my $in = new FileHandle; + my $dir= ""; + my $count=0; + + $file=~ m|^(.*)/[^/]*$|; + $dir=$1; + +#print "opening $file (dir=$dir)\n"; + open $in,"$file"; + + while (<$in>) { + if (m|\s*#|) { + print OUT $_; + next; + } + if (m|^\s*include|) { + next; + } + if (count==1 || m|(^\s*EXTRA_CFLAGS.*=\s*)(.*/.*)\n|) { + remove_includes($1,$2); + if (m|[\\]\n|) { + $count=1; + } else { + $count=0; + } + next; + } +# if (m|(^\s*obj.*=\s*)(.*/.*)\n|) { + if (count==2 || m|(^\s*obj.*=\s*)(.*)\n|) { + check_line($dir,$1,$2); + if (m|\\\n|) { + $count=1; + } else { + $count=0; + } + next; + } + print OUT $_; + } + close $in; +} + +open OUT,">Makefile.media"; +open_makefile ("../linux/drivers/media/Makefile"); +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; + diff --git a/v4l/scripts/make_noconfig.pl b/v4l/scripts/make_noconfig.pl new file mode 100644 index 000000000..503653a4f --- /dev/null +++ b/v4l/scripts/make_noconfig.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl + +my $config = (); + +open IN,".config"; +while (<IN>) { + if (m/\s*([\d\w_]+)[=](.*)\n/) { +#printf "%s=%s\n",$1,$2; + $config { $1 } = $2; + } +} +close IN; + +open IN,".version"; +while (<IN>) { + if (m/KERNELRELEASE\s*[:]*[=]+\s*(\d+)\.(\d+)\.(\d+)/) { + $version=$1; + $level=$2; + $sublevel=$3; + } +} +close IN; + +open IN,"versions.txt"; +while (<IN>) { + if (m/\[(\d+)\.(\d+)\.(\d+)\]/) { + $minversion=$1; + $minlevel=$2; + $minsublevel=$3; + next; + } + s/\n//; + + if (m/DVB_AV7110_FIRMWARE/) { + next; + } + if (m/DVB_AV7110_FIRMWARE_FILE/) { + next; + } + if (m/^\s*([\w\d_]+)/) { + if ( ($version < $minversion) | + ($level < $minlevel) | + ($sublevel < $minsublevel) ) { + $config { "CONFIG_$1" } = 'n'; +#print "CONFIG_$1 version is not supported\n"; + next; + } + if (!($config { "CONFIG_$1" } ) ) { +print "CONFIG_$1 is unset\n"; + $config { "CONFIG_$1" } = 'n'; + } + } +} +close IN; + +open OUT,">.myconfig"; +while ( my ($key, $value) = each(%config) ) { + printf OUT "%-44s := %s\n",$key,$value; +} +close OUT; diff --git a/v4l/versions.txt b/v4l/versions.txt new file mode 100644 index 000000000..b4e4809af --- /dev/null +++ b/v4l/versions.txt @@ -0,0 +1,152 @@ +# Use this for stuff not yet at V4L/DVB tree +[2.6.99] +VIDEO_ZORAN +VIDEO_ZORAN_BUZ +VIDEO_ZORAN_DC10 +VIDEO_ZORAN_DC30 +VIDEO_ZORAN_LML33 +VIDEO_ZORAN_LML33R10 +VIDEO_ZR36120 +VIDEO_SAA5246A +VIDEO_SAA5249 +VIDEO_BWQCAM +VIDEO_CQCAM +VIDEO_W9966 +VIDEO_PMS +VIDEO_STRADIS +VIDEO_CPIA +VIDEO_CPIA_PP +VIDEO_CPIA_USB +VIDEO_MEYE +VIDEO_MXB +VIDEO_DPC +TUNER_3036 +USB_DABUSB +USB_DSBR +USB_OV511 +USB_SE401 +USB_STV680 +USB_W9968CF +VIDEO_PLANB +VIDEO_VINO +VIDEO_M32R_AR_M64278 +VIDEO_M32R_AR + +[2.6.12] +VIDEO_DEV +VIDEO_ADV_DEBUG +VIDEO_BT848 +VIDEO_BT848_DVB +VIDEO_SAA6588 +VIDEO_CPIA2 +VIDEO_SAA7134 +VIDEO_SAA7134_ALSA +VIDEO_SAA7134_OSS +VIDEO_SAA7134_DVB +VIDEO_SAA7134_DVB_ALL_FRONTENDS +VIDEO_SAA7134_DVB_MT352 +VIDEO_SAA7134_DVB_TDA1004X +VIDEO_SAA7134_DVB_NXT200X +VIDEO_HEXIUM_ORION +VIDEO_HEXIUM_GEMINI +VIDEO_CX88_VP3054 +VIDEO_CX88 +VIDEO_CX88_ALSA +VIDEO_CX88_DVB +VIDEO_CX88_DVB_ALL_FRONTENDS +VIDEO_CX88_DVB_MT352 +VIDEO_CX88_DVB_VP3054 +VIDEO_CX88_DVB_ZL10353 +VIDEO_CX88_DVB_OR51132 +VIDEO_CX88_DVB_CX22702 +VIDEO_CX88_DVB_LGDT330X +VIDEO_CX88_DVB_NXT200X +VIDEO_CX88_DVB_CX24123 +VIDEO_OVCAMCHIP +VIDEO_MSP3400 +VIDEO_CS53L32A +VIDEO_WM8775 +VIDEO_WM8739 +VIDEO_CX25840 +VIDEO_SAA711X +VIDEO_SAA7127 +VIDEO_UPD64031A +VIDEO_UPD64083 +VIDEO_PVRUSB2 +VIDEO_PVRUSB2_24XXX +VIDEO_PVRUSB2_SYSFS +VIDEO_PVRUSB2_DEBUGIFC +VIDEO_EM28XX +DVB +DVB_CORE +DVB_AV7110 +DVB_AV7110_FIRMWARE +DVB_AV7110_FIRMWARE_FILE +DVB_AV7110_OSD +DVB_BUDGET +DVB_BUDGET_CI +DVB_BUDGET_AV +DVB_BUDGET_PATCH +DVB_USB +DVB_USB_DEBUG +DVB_USB_A800 +DVB_USB_DIBUSB_MB +DVB_USB_DIBUSB_MB_FAULTY +DVB_USB_DIBUSB_MC +DVB_USB_UMT_010 +DVB_USB_CXUSB +DVB_USB_DIGITV +DVB_USB_VP7045 +DVB_USB_VP702X +DVB_USB_NOVA_T_USB2 +DVB_USB_DTT200U +DVB_TTUSB_BUDGET +DVB_TTUSB_DEC +DVB_CINERGYT2 +DVB_CINERGYT2_TUNING +DVB_CINERGYT2_STREAM_URB_COUNT +DVB_CINERGYT2_STREAM_BUF_SIZE +DVB_CINERGYT2_QUERY_INTERVAL +DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE +DVB_CINERGYT2_RC_QUERY_INTERVAL +DVB_B2C2_FLEXCOP +DVB_B2C2_FLEXCOP_PCI +DVB_B2C2_FLEXCOP_USB +DVB_B2C2_FLEXCOP_DEBUG +DVB_BT8XX +DVB_PLUTO2 +DVB_STV0299 +DVB_CX24110 +DVB_CX24123 +DVB_TDA8083 +DVB_MT312 +DVB_VES1X93 +DVB_S5H1420 +DVB_SP8870 +DVB_SP887X +DVB_CX22700 +DVB_CX22702 +DVB_L64781 +DVB_TDA1004X +DVB_NXT6000 +DVB_MT352 +DVB_ZL10353 +DVB_DIB3000MB +DVB_DIB3000MC +DVB_VES1820 +DVB_TDA10021 +DVB_STV0297 +DVB_NXT200X +DVB_OR51211 +DVB_OR51132 +DVB_BCM3510 +DVB_LGDT330X +VIDEO_SAA7146 +VIDEO_SAA7146_VV +VIDEO_VIDEOBUF +VIDEO_TUNER +VIDEO_BUF +VIDEO_BUF_DVB +VIDEO_BTCX +VIDEO_IR +VIDEO_TVEEPROM |