summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2006-04-07 19:05:42 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-04-07 19:05:42 -0300
commitd90bd3ff0cbd895065afc24bb83501e97c844cd0 (patch)
tree2862c9b8cbb9ee8d2722f99c5bf4d538ede45287 /v4l
parentf8d3d508803c4ce572d52d5a5aa24163f60275ab (diff)
downloadmediapointer-dvb-s2-d90bd3ff0cbd895065afc24bb83501e97c844cd0.tar.gz
mediapointer-dvb-s2-d90bd3ff0cbd895065afc24bb83501e97c844cd0.tar.bz2
Big changes at v4l-dvb make internal working
From: Mauro Carvalho Chehab <mchehab@infradead.org> Previously, tree building were based on Make.config. This file contained all compiling stuff. Also, v4l/Makefile contained all drivers that should be copiled, replicating the rules of all other Makefiles under linux. Now, make will rely on linux/*/Makefile to compile the modules. This approach allows usage of Kconfig files, allowing partial compilations. Newer makefile commands introduced: make allmodconfig - Selects all stuff to be compiled as module; make config - Selects packages via text interface; make xconfig - Selects packages via qt interface; make gconfig - selects packages via gtk interface. for config, xconfig and gconfig to be used, those scripts needs to be previously compiled at kernel. So, user needs to use those commands previously at kernel tree. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'v4l')
-rw-r--r--v4l/Make.config121
-rw-r--r--v4l/Makefile274
-rw-r--r--v4l/Makefile.kern2428
-rwxr-xr-xv4l/scripts/make_kconfig.pl73
-rw-r--r--v4l/scripts/make_makefile.pl109
-rw-r--r--v4l/scripts/make_noconfig.pl60
-rw-r--r--v4l/versions.txt152
7 files changed, 450 insertions, 367 deletions
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