diff options
Diffstat (limited to 'v4l')
-rw-r--r-- | v4l/.cvsignore | 7 | ||||
-rw-r--r-- | v4l/Make.config | 119 | ||||
-rw-r--r-- | v4l/Makefile | 695 | ||||
-rw-r--r-- | v4l/Makefile.ivtv | 25 | ||||
-rw-r--r-- | v4l/Makefile.kern24 | 28 | ||||
-rw-r--r-- | v4l/compat.h | 14 | ||||
-rwxr-xr-x | v4l/scripts/gentree.pl | 93 | ||||
-rwxr-xr-x | v4l/scripts/make_kconfig.pl | 178 | ||||
-rwxr-xr-x | v4l/scripts/make_makefile.pl | 163 | ||||
-rwxr-xr-x | v4l/scripts/make_noconfig.pl | 57 | ||||
-rwxr-xr-x | v4l/scripts/makelinks.sh | 2 | ||||
-rw-r--r-- | v4l/versions.txt | 206 |
12 files changed, 951 insertions, 636 deletions
diff --git a/v4l/.cvsignore b/v4l/.cvsignore deleted file mode 100644 index 88be5bcbc..000000000 --- a/v4l/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -*.ko -*.o.flags -*.mod.c -.*.cmd -.version -.snapshot -.tmp_versions diff --git a/v4l/Make.config b/v4l/Make.config deleted file mode 100644 index 7d8ae8e8d..000000000 --- a/v4l/Make.config +++ /dev/null @@ -1,119 +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_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 ab94f891f..b8eba1a44 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -3,233 +3,64 @@ obj = . endif ################################################# -# configuration +# Version Check -include $(obj)/Make.config +ifneq ($(KERNELRELEASE),) -# 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-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 +-include $(TOPDIR)/Rules.make -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 - -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 +else -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 \ - 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 +# take version info from last module build if available +-include $(obj)/.version + +ifneq ($(SRCDIR),) +KDIR := $(SRCDIR) +else +KDIR := /lib/modules/$(KERNELRELEASE)/build endif -ifeq ($(CONFIG_VIDEO_ADV_DEBUG),y) - EXTRA_CFLAGS += -DCONFIG_VIDEO_ADV_DEBUG=1 endif +################################################# +# default compilation rule + +default:: config-compat.h Makefile.media links .version + echo srcdir $(SRCDIR) + $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules + +################################################# +# Object specific rules + +-include $(obj)/.myconfig +-include $(obj)/Makefile.media +-include $(obj)/Makefile.ivtv + +################################################# +# CFLAGS configuration + ifeq ($(CONFIG_XC3028),m) EXTRA_CFLAGS += -DCONFIG_XC3028=1 endif -# 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 -endif -ifeq ($(CONFIG_VIDEO_BUF_DVB),m) - EXTRA_CFLAGS += -DHAVE_VIDEO_BUF_DVB=1 + EXTRA_CFLAGS += -I$(srctree)/drivers/ieee1394/ 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 -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 +EXTRA_CFLAGS += -g + +EXTRA_CFLAGS += $(if $(wildcard $(srctree)/.mm), -DMM_KERNEL) ################################################# -# compile modules +# Kernel 2.4/2.6 specific rules ifneq ($(KERNELRELEASE),) @@ -237,15 +68,17 @@ ifeq ($(VERSION).$(PATCHLEVEL),2.6) export-objs := list-multi := else +include $(obj)/Makefile.kern24 + multi-m := $(filter $(list-multi), $(obj-m)) int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs))) export-objs := $(filter $(int-m) $(obj-m),$(export-objs)) endif -CC += -I$(obj) -EXTRA_CFLAGS += -g +endif -EXTRA_CFLAGS += $(if $(wildcard $(srctree)/.mm), -DMM_KERNEL) +################################################# +# Directories to be used snapshot := $(wildcard $(obj)/.snapshot) ifneq ($(snapshot),) @@ -253,44 +86,15 @@ 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 $(TOPDIR)/Rules.make -else -# take version info from last module build if available --include $(obj)/.version -endif - -KDIR := /lib/modules/$(KERNELRELEASE)/build PWD := $(shell pwd) -DEST := /lib/modules/$(KERNELRELEASE)/$(MDIR) +DEST := /lib/modules/$(KERNELRELEASE)/v4l2 KDIR26 := /lib/modules/$(KERNELRELEASE)/kernel/drivers/media -KDIRUSB := /lib/modules/$(KERNELRELEASE)/kernel/drivers/usb/media + +################################################# +# Compiler fixup rules + +HOSTCC:=$(CC) +CC += -I$(obj) ifeq ($(VERSION).$(PATCHLEVEL),2.6) CPPFLAGS := -I$(SUBDIRS)/../linux/include $(CPPFLAGS) -I$(SUBDIRS)/ @@ -299,176 +103,237 @@ else MYCFLAGS := CFLAGS="-I../linux/include -D__KERNEL__ -I$(KDIR)/include -DEXPORT_SYMTAB" endif + +################################################# # which files to install? + inst-m := $(wildcard *.ko) ifeq ($(inst-m),) inst-m := $(obj-m) 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 += 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_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 -inst_saa7134 := saa6752hs.ko saa7134.ko saa7134-empress.ko saa7134-dvb.ko -inst_em28xx := em28xx.ko -inst_bt8xx := bt878.ko dvb-bt8xx.ko dst.ko dst_ca.ko -inst_frontends := cx22702.ko dvb-pll.ko lgdt330x.ko or51132.ko tda1004x.ko -inst_frontends += mt352.ko sp887x.ko nxt6000.ko cx24110.ko or51211.ko -inst_frontends += nxt200x.ko cx24123.ko mt312.ko stv0299.ko -inst_frontends += bcm3510.ko dib3000mb.ko dib3000mc.ko ves1820.ko -inst_frontends += cx22700.ko tda8083.ko ves1x93.ko stv0297.ko sp8870.ko -inst_frontends += l64781.ko s5h1420.ko tda10021.ko at76c651.ko tda80xx.ko -inst_frontends += stv0297_cs2.ko zl10353.ko -inst_dvb-core := dvb-core.ko -inst_saa7146 := saa7146.ko saa7146_vv.ko -inst_b2c2 := b2c2-flexcop.ko b2c2-flexcop-pci.ko b2c2-flexcop-usb.ko -inst_cinergyT2 := cinergyT2.ko -inst_dvb-usb := dvb-usb.ko dvb-usb-vp7045.ko dvb-usb-vp702x.ko -inst_dvb-usb += dvb-usb-dtt200u.ko dvb-usb-a800.ko dvb-usb-dibusb-mb.ko -inst_dvb-usb += dvb-usb-dibusb-mc.ko dvb-usb-nova-t-usb2.ko -inst_dvb-usb += dvb-usb-umt-010.ko dvb-usb-digitv.ko dvb-usb-cxusb.ko -inst_pluto2 := pluto2.ko -inst_ttpci := budget-core.ko budget.ko ttpci-eeprom.ko budget-av.ko -inst_ttpci += budget-ci.ko budget-patch.ko dvb-ttpci.ko -inst_ttusb-budget := dvb-ttusb-budget.ko -inst_ttusb-dec := ttusb_dec.ko ttusbdecfe.ko -inst_pvrusb2 := pvrusb2.ko -inst_firesat := dvb-firesat.ko -inst_ivtv := ivtv.ko ivtv-fb.ko - v4l_modules := $(shell /sbin/lsmod|cut -d' ' -f1 ) $(patsubst %.ko,%,$(inst-m)) +################################################# # locales seem to cause trouble sometimes. LC_ALL = POSIX export LC_ALL -all:: default -default:: links .version - $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules +################################################# +# Generic wildcard rules -qconfig:: links .version - ./scripts/make_kconfig.pl /usr/src/linux-2.6.14 $(ARCH) - $(KDIR)/scripts/kconfig/qconf Kconfig +%.asm: %.o + objdump -S $< > $@ -ivtv-checkout:: - @if [ ! -d ivtv ]; then \ - echo retrieving the latest ivtv sources from ivtvdriver.org; \ - echo this step requires subversion to be installed; \ - svn co http://ivtvdriver.org/svn/ivtv/trunk ivtv; \ - fi +################################################# +# all file compilation rule -ivtv-update ivtv-up:: ivtv - @svn up ivtv +all:: allmodconfig default -ivtv-links:: ivtv-checkout - @echo creating ivtv symbolic links... - @find ivtv/driver -name '*.[ch]' -type f -exec ln -sf '{}' . \; - @find ivtv/i2c-drivers -name '*.[ch]' -type f -exec ln -sf '{}' . \; +################################################# +# installation invocation rules -ivtv:: ivtv-links - @echo '#define IVTV_DRIVER_VERSION_COMMENT ' \ - '"(v4l-dvb + ivtv virtual merge)' \ - "`svn info ivtv | grep Revision`"'"' > ivtv-svnversion.h - @echo ivtv trunk merged. Run make to build the entire tree. +install:: media-install ivtv-install -cx88-ivtv:: - @echo creating cx88-ivtv symbolic links... - @ln -sf ../v4l_experimental/cx88-ivtv.c . +remove rminstall:: media-rminstall ivtv-rminstall + +################################################# +# Compiling preparation rules + +Makefile.media:: .version + scripts/make_makefile.pl + +.version:: +ifneq ($(KERNELRELEASE),) + @echo -e VERSION=$(VERSION)\\nPATCHLEVEL:=$(PATCHLEVEL)\\nSUBLEVEL:=$(SUBLEVEL)\\nKERNELRELEASE:=$(KERNELRELEASE) > $(obj)/.version +ifneq ($(SRCDIR),) + @echo -e SRCDIR=$(SRCDIR)\\n >> $(obj)/.version +endif +else + @echo "No version yet." + @uname -r|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$$/) { printf ("VERSION=%s\nPATCHLEVEL:=%s\nSUBLEVEL:=%s\nKERNELRELEASE:=%s.%s.%s%s\n",$$1,$$2,$$3,$$1,$$2,$$3,$$4); };' > $(obj)/.version +endif + +release:: +ifneq ($(VER),) + @echo "Forcing compiling to version $(VER)." + @echo $(VER)|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$$/) { printf ("VERSION=%s\nPATCHLEVEL:=%s\nSUBLEVEL:=%s\nKERNELRELEASE:=%s.%s.%s%s\n",$$1,$$2,$$3,$$1,$$2,$$3,$$4); };' > $(obj)/.version +else +ifneq ($(DIR),) + @perl -e 'open IN,"<$(DIR)/Makefile"; \ + while (<IN>) { \ + if (/^VERSION\s*=\s*([0-9]+)/){ $$version=$$1; next; }\ + if (/^PATCHLEVEL\s*=\s*([0-9]+)/){ $$level=$$1; next; }\ + if (/^SUBLEVEL\s*=\s*([0-9]+)/){ $$sublevel=$$1; next; }\ + if (/^EXTRAVERSION\s*=\s*([^\s]+)\n/){ $$extra=$$1; next; }\ + }; \ + printf ("VERSION=%s\nPATCHLEVEL:=%s\nSUBLEVEL:=%s\nKERNELRELEASE:=%s.%s.%s%s\n", \ + $$version,$$level,$$sublevel,$$version,$$level,$$sublevel,$$extra); \ + printf ("SRCDIR:=$(DIR)\n");' > $(obj)/.version + @cat .version|grep KERNELRELEASE:|sed s,'KERNELRELEASE:=','Forcing compiling to version ', + + @if [ ! -f $(DIR)/scripts/kallsyms ]; then \ + echo "*** Warning: You should configure and build kernel before compiling V4L"; \ + fi + +else + @echo "No version specified. Using `uname -r`." + @uname -r|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$$/) { printf ("VERSION=%s\nPATCHLEVEL:=%s\nSUBLEVEL:=%s\nKERNELRELEASE:=%s.%s.%s%s\n",$$1,$$2,$$3,$$1,$$2,$$3,$$4); };' > $(obj)/.version +endif +endif links:: @echo creating symbolic links... @find ../linux/drivers/media -name '*.[ch]' -type f -exec ln -sf '{}' . \; @find ../linux/sound -name '*.[ch]' -type f -exec ln -sf '{}' . \; -# @find ../linux/include -name '*.[h]' -type f -exec ln -sf '{}' . \; +config-compat.h:: .myconfig + @echo \#ifndef __CONFIG_COMPAT_H__ > config-compat.h + @echo \#define __CONFIG_COMPAT_H__ >> config-compat.h + @echo >> config-compat.h + @echo \#include \<linux\/config\.h\> >> config-compat.h + @echo >> config-compat.h + @grep "CONFIG\_" .myconfig | grep -v "\:\= n" | \ + sed s/"CONFIG\_"/"\#undef CONFIG\_"/1 | \ + sed s/"\:\= .*"/""/1 >> config-compat.h >> config-compat.h + @echo >> config-compat.h + @grep "CONFIG\_" .myconfig | grep -v "\:\= n" | \ + sed s/"CONFIG\_"/"\#define CONFIG\_"/1 | \ + sed s/"\:\="/""/1 >> config-compat.h >> config-compat.h + @echo >> config-compat.h + @echo \#endif >> config-compat.h kernel-links makelinks:: cd ..; v4l/scripts/makelinks.sh $(KDIR) -install:: v4l-install dvb-install - -v4l-install:: v4l-rminstall - @echo -e "\nInstalling new V4L modules at corresponding Kernel dir..." - - @strip --strip-debug $(inst-m) +################################################# +# Cardlist updating rule - -install -d $(KDIR26)/common - -install -m 644 -c $(inst_common) $(KDIR26)/common +card cardlist cardlists:: + scripts/cardlist - -install -d $(KDIR26)/video - -install -m 644 -c $(inst_video) $(KDIR26)/video +################################################# +# Cleaning rules - -install -d $(KDIR26)/video/cx88 - -install -m 644 -c $(inst_cx88) $(KDIR26)/video/cx88 +clean:: + @find . -name '*.c' -type l -exec rm '{}' \; + @find . -name '*.h' -type l -exec rm '{}' \; + -rm -f *~ *.o *.ko .*.o.cmd .*.ko.cmd *.mod.c av7110_firm.h fdump \ + ivtv-svnversion.h config-compat.h - -install -d $(KDIR26)/video/saa7134 - -install -m 644 -c $(inst_saa7134) $(KDIR26)/video/saa7134 +distclean:: clean + -rm -f .version .*.o.flags .*.o.d Makefile.media \ + Kconfig Kconfig.kern .config .config.cmd + -rm -rf .tmp_versions + @find .. -name '*.orig' -exec rm '{}' \; + @find .. -name '*.rej' -exec rm '{}' \; - -install -d $(KDIR26)/video/em28xx - -install -m 644 -c $(inst_em28xx) $(KDIR26)/video/em28xx +################################################# +# Kernel module insert/removal rules - -install -d $(KDIR26)/video/pvrusb2 - -install -m 644 -c $(inst_pvrusb2) $(KDIR26)/video/pvrusb2 +insmod load:: + scripts/insmod.sh load - -install -d $(KDIR26)/video/ivtv - -install -m 644 -c $(inst_ivtv) $(KDIR26)/video/ivtv +rmmod unload:: + scripts/insmod.sh unload -# -install -d $(KDIRUSB) -# -install -m 644 -c $(inst_usb) $(KDIRUSB)/ +reload:: + scripts/insmod.sh reload - /sbin/depmod -a ${KERNELRELEASE} +################################################# +# Configuration rules -dvb-install:: dvb-rminstall - @echo -e "\nInstalling new DVB modules at corresponding Kernel dir..." +# 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) - @strip --strip-debug $(inst-m) +build := srctree=$(KDIR) HOSTCXX="$(CXX)" HOSTCC="$(HOSTCC)" CONFIG_SHELL="$(CONFIG_SHELL)" -f $(KDIR)/scripts/Makefile.build obj - -install -d $(KDIR26)/common - -install -m 644 -c $(inst_saa7146) $(KDIR26)/common +xconfig:: links .version + -if [ ! -f $(KDIR)/scripts/kconfig/qconf ]; then \ + $(MAKE) -C $(KDIR) $(build)=scripts/kconfig qconf-target=1 scripts/kconfig/qconf; \ + fi + ./scripts/make_kconfig.pl + $(KDIR)/scripts/kconfig/qconf Kconfig + ./scripts/make_noconfig.pl - -install -d $(KDIR26)/dvb/frontends - -install -m 644 -c $(inst_frontends) $(KDIR26)/dvb/frontends +gconfig:: links .version + -if [ ! -f $(KDIR)/scripts/kconfig/gconf ]; then \ + $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/gconf; \ + fi + ./scripts/make_kconfig.pl + $(KDIR)/scripts/kconfig/gconf Kconfig + ./scripts/make_noconfig.pl - -install -d $(KDIR26)/dvb/bt8xx - -install -m 644 -c $(inst_bt8xx) $(KDIR26)/dvb/bt8xx +config:: links .version + -if [ ! -f $(KDIR)/scripts/kconfig/conf ]; then \ + $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/conf; \ + fi + ./scripts/make_kconfig.pl + $(KDIR)/scripts/kconfig/conf Kconfig + ./scripts/make_noconfig.pl + +menuconfig:: links .version + ./scripts/make_kconfig.pl + -rm scripts/lxdialog scripts/kconfig + -if [ -d $(KDIR)/scripts/lxdialog ]; then \ + if [ ! -f $(KDIR)/scripts/lxdialog/lxdialog ]; then \ + $(MAKE) -C $(KDIR) $(build)=scripts/lxdialog; \ + fi; \ + ln -s $(KDIR)/scripts/lxdialog scripts/lxdialog; \ + fi - -install -d $(KDIR26)/dvb/dvb-core - -install -m 644 -c $(inst_dvb-core) $(KDIR26)/dvb/dvb-core + -if [ -d $(KDIR)/scripts/kconfig ]; then \ + if [ -d $(KDIR)/scripts/kconfig/lxdialog ]; then \ + if [ ! -f $(KDIR)/scripts/kconfig/lxdialog ]; then \ + $(MAKE) -C $(KDIR) $(build)=scripts/kconfig/lxdialog; \ + fi; \ + fi; \ + if [ ! -f $(KDIR)/scripts/kconfig/mconf ]; then \ + $(MAKE) -C $(KDIR) $(build)=scripts/kconfig scripts/kconfig/mconf; \ + fi; \ + ln -s $(KDIR)/scripts/kconfig scripts/kconfig; \ + fi - -install -d $(KDIR26)/dvb/b2c2 - -install -m 644 -c $(inst_b2c2) $(KDIR26)/dvb/b2c2 + $(KDIR)/scripts/kconfig/mconf Kconfig + ./scripts/make_noconfig.pl - -install -d $(KDIR26)/dvb/cinergyT2 - -install -m 644 -c $(inst_cinergyT2) $(KDIR26)/dvb/cinergyT2 +allyesconfig allmodconfig:: links .version + ./scripts/make_kconfig.pl 1 + ./scripts/make_noconfig.pl - -install -d $(KDIR26)/dvb/dvb-usb - -install -m 644 -c $(inst_dvb-usb) $(KDIR26)/dvb/dvb-usb +################################################# +# IVTV link rules - -install -d $(KDIR26)/dvb/pluto2 - -install -m 644 -c $(inst_pluto2) $(KDIR26)/dvb/pluto2 +ivtv-checkout:: + @if [ ! -d ivtv ]; then \ + echo retrieving the latest ivtv sources from ivtvdriver.org; \ + echo this step requires subversion to be installed; \ + svn co http://ivtvdriver.org/svn/ivtv/trunk ivtv; \ + fi - -install -d $(KDIR26)/dvb/ttpci - -install -m 644 -c $(inst_ttpci) $(KDIR26)/dvb/ttpci +ivtv-update ivtv-up:: ivtv + @svn up ivtv - -install -d $(KDIR26)/dvb/ttusb-budget - -install -m 644 -c $(inst_ttusb-budget) $(KDIR26)/dvb/ttusb-budget +ivtv-links:: ivtv-checkout + @echo creating ivtv symbolic links... + @find ivtv/driver -name '*.[ch]' -type f -exec ln -sf '{}' . \; + @find ivtv/i2c-drivers -name '*.[ch]' -type f -exec ln -sf '{}' . \; - -install -d $(KDIR26)/dvb/ttusb-dec - -install -m 644 -c $(inst_ttusb-dec) $(KDIR26)/dvb/ttusb-dec +ivtv:: ivtv-links + @echo '#define IVTV_DRIVER_VERSION_COMMENT ' \ + '"(v4l-dvb + ivtv virtual merge)' \ + "`svn info ivtv | grep Revision`"'"' > ivtv-svnversion.h + @echo ivtv trunk merged. Run make to build the entire tree. - -install -d $(KDIR26)/dvb/firesat - -install -m 644 -c $(inst_firesat) $(KDIR26)/dvb/firesat +cx88-ivtv:: + @echo creating cx88-ivtv symbolic links... + @ln -sf ../v4l_experimental/cx88-ivtv.c . - /sbin/depmod -a ${KERNELRELEASE} +################################################# +# Old instalation rule old-install:: rminstall @echo -e "\nInstalling new V4L modules at $(DEST)..." @@ -480,76 +345,8 @@ old-install:: rminstall /sbin/depmod -a ${KERNELRELEASE} -rminstall:: v4l-rminstall dvb-rminstall - -v4l-rminstall:: - @echo -e "\nEliminating old V4L modules (errors on this step is not a problem).." - - -@rm -r $(DEST) \ - $(addprefix $(KDIR26)/common/, $(inst_common)) \ - $(addprefix $(KDIR26)/video/, $(inst_video)) \ - $(addprefix $(KDIR26)/video/cx88/, $(inst_cx88)) \ - $(addprefix $(KDIR26)/video/saa7134/, $(inst_saa7134)) \ - $(addprefix $(KDIR26)/video/pvrusb2/, $(inst_pvrusb2)) \ - $(addprefix $(KDIR26)/video/ivtv/, $(inst_ivtv)) \ - $(addprefix $(KDIR26)/video/em28xx/, $(inst_em28xx)) \ - $(addprefix $(KDIRUSB)/, $(inst_em28xx)) \ - $(addprefix $(KDIR26)/common/, $(addsuffix .gz,$(inst_common))) \ - $(addprefix $(KDIR26)/video/, $(addsuffix .gz,$(inst_video))) \ - $(addprefix $(KDIR26)/video/cx88/, $(addsuffix .gz,$(inst_cx88))) \ - $(addprefix $(KDIR26)/video/saa7134/, $(addsuffix .gz,$(inst_saa7134))) 2>/dev/null \ - $(addprefix $(KDIR26)/video/pvrusb2/, $(addsuffix .gz,$(inst_pvrusb2))) 2>/dev/null \ - $(addprefix $(KDIR26)/video/ivtv/, $(addsuffix .gz,$(inst_ivtv))) 2>/dev/null \ - $(addprefix $(KDIR26)/video/em28xx/, $(addsuffix .gz,$(inst_em28xx))) 2>/dev/null \ - $(addprefix $(KDIRUSB)/, $(addsuffix .gz,$(inst_em28xx))) 2>/dev/null - @echo - -dvb-rminstall:: - @echo -e "\nEliminating old DVB modules (errors on this step is not a problem).." - - -@rm -r $(DEST) \ - $(addprefix $(KDIR26)/dvb/bt8xx/, $(inst_bt8xx)) \ - $(addprefix $(KDIR26)/dvb/frontends/, $(inst_frontends)) \ - $(addprefix $(KDIR26)/dvb/dvb-core/, $(inst_dvb-core)) \ - $(addprefix $(KDIR26)/dvb/b2c2/, $(inst_b2c2)) \ - $(addprefix $(KDIR26)/dvb/cinergyT2/, $(inst_cinergyT2)) \ - $(addprefix $(KDIR26)/dvb/dvb-usb/, $(inst_dvb-usb)) \ - $(addprefix $(KDIR26)/dvb/pluto2/, $(inst_pluto2)) \ - $(addprefix $(KDIR26)/dvb/ttpci/, $(inst_ttpci)) \ - $(addprefix $(KDIR26)/dvb/ttusb-budget/, $(inst_ttusb-budget)) \ - $(addprefix $(KDIR26)/dvb/ttusb-dec/, $(inst_ttusb-dec)) \ - $(addprefix $(KDIR26)/dvb/firesat/, $(inst_firesat)) \ - $(addprefix $(KDIR26)/dvb/bt8xx/, $(addsuffix .gz,$(inst_bt8xx))) \ - $(addprefix $(KDIR26)/dvb/frontends/, $(addsuffix .gz,$(inst_frontends))) \ - $(addprefix $(KDIR26)/dvb/dvb-core/, $(addsuffix .gz,$(inst_dvb-core))) \ - $(addprefix $(KDIR26)/dvb/b2c2/, $(addsuffix .gz,$(inst_b2c2))) \ - $(addprefix $(KDIR26)/dvb/cinergyT2/, $(addsuffix .gz,$(inst_cinergyT2))) \ - $(addprefix $(KDIR26)/dvb/dvb-usb/, $(addsuffix .gz,$(inst_dvb-usb))) \ - $(addprefix $(KDIR26)/dvb/pluto2/, $(addsuffix .gz,$(inst_pluto2))) \ - $(addprefix $(KDIR26)/dvb/ttpci/, $(addsuffix .gz,$(inst_ttpci))) \ - $(addprefix $(KDIR26)/dvb/ttusb-budget/, $(addsuffix .gz,$(inst_ttusb-budget))) \ - $(addprefix $(KDIR26)/dvb/ttusb-dec/, $(addsuffix .gz,$(inst_ttusb-dec))) \ - $(addprefix $(KDIR26)/dvb/firesat/, $(addsuffix .gz,$(inst_firesat))) 2>/dev/null - @echo - -rmmodules:: - rmmod -w $(shell echo "$(v4l_modules)"|sed s,' ','\n',g|sed s,'-','_',g|sort|uniq -d) - -clean:: - @find . -name '*.c' -type l -exec rm '{}' \; - @find . -name '*.h' -type l -exec rm '{}' \; - -rm -f *~ *.o *.ko .*.o.cmd .*.ko.cmd *.mod.c av7110_firm.h fdump \ - ivtv-svnversion.h \ - Kconfig Kconfig.kern .config .config.cmd - -distclean:: clean - -rm -f .version .*.o.flags .*.o.d - -rm -rf .tmp_versions - @find .. -name '*.orig' -exec rm '{}' \; - @find .. -name '*.rej' -exec rm '{}' \; - -change changes changelog:: - make -C .. changelog +################################################# +# Tree management rules update:: make -C .. update @@ -560,26 +357,13 @@ commit cvscommit hgcommit:: push:: make -C .. push -insmod load:: - scripts/insmod.sh load - -rmmod unload:: - scripts/insmod.sh unload - -reload:: - scripts/insmod.sh reload - -.version: -ifneq ($(KERNELRELEASE),) - echo -e VERSION=$(VERSION)\\nPATCHLEVEL:=$(PATCHLEVEL)\\nSUBLEVEL:=$(SUBLEVEL)\\nKERNELRELEASE:=$(KERNELRELEASE) > $(obj)/.version -else - echo "No version yet." - uname -r|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$$/) { printf ("VERSION=%s\nPATCHLEVEL:=%s\nSUBLEVEL:=%s\nKERNELRELEASE:=%s.%s.%s%s\n",$$1,$$2,$$3,$$1,$$2,$$3,$$4); };' > $(obj)/.version - -endif +################################################# +# Help +help:: + @cat ../INSTALL ################################################# -# build tarballs +# build tarballs rules RPWD := $(shell cd .. && pwd) thisdir := $(notdir $(RPWD)) @@ -590,21 +374,10 @@ tardest ?= . snapdir := $(HOME)/snapshot snap := $(name) -snapshot snap tarball: update distclean +snapshot snap tarball:: update distclean echo $(thisdir) echo $(name) echo $(date) > .snapshot (cd ..; tar czf $(snapdir)/$(snap)-$(date).tar.gz .) cp ChangeLog /$(snapdir)/$(snap)-ChangeLog-$(date) $(MAKE) -C $(snapdir) - - -################################################# -# other stuff - -%.asm: %.o - objdump -S $< > $@ - -card cardlist cardlists: - scripts/cardlist - diff --git a/v4l/Makefile.ivtv b/v4l/Makefile.ivtv new file mode 100644 index 000000000..69962f9e4 --- /dev/null +++ b/v4l/Makefile.ivtv @@ -0,0 +1,25 @@ +# +# ivtv build rules +# +CONFIG_VIDEO_IVTV := $(if $(wildcard $(src)/ivtv-svnversion.h),m) +CONFIG_VIDEO_CX88_IVTV := $(if $(wildcard $(src)/cx88-ivtv.c),m) + +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 + +obj-$(CONFIG_VIDEO_IVTV) += ivtv.o ivtv-fb.o +obj-$(CONFIG_VIDEO_CX88_IVTV) += cx88-ivtv.o + +ivtv-install:: + @echo -e "\nInstalling $(KDIR26)/video/ivtv files:" + @install -d $(KDIR26)/video/ivtv + @files='ivtv.ko ivtv-fb.ko cx88-ivtv.ko '; for i in $$files;do if [ -e $$i ]; then echo -n "$$i "; install -m 644 -c $$i $(KDIR26)/video/ivtv; fi; done; echo; + /sbin/depmod -a ${KERNELRELEASE} + +ivtv-rminstall:: + @echo -e "\nRemoving old $(KDIR26)/video/ivtv files:" + @files='ivtv.ko ivtv-fb.ko cx88-ivtv.ko '; for i in $$files;do if [ -e $(KDIR26)/video/ivtv/$$i ]; then echo -n "$$i "; rm $(KDIR26)/video/ivtv/$$i; fi; done; for i in $$files;do if [ -e $(KDIR26)/video/ivtv/$$i.gz ]; then echo -n "$$i.gz "; rm $(KDIR26)/video/ivtv/$$i.gz; fi; done; echo; 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/compat.h b/v4l/compat.h index 9efcfebd1..b9138c7be 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -10,6 +10,7 @@ #include <linux/version.h> #include <linux/utsname.h> #include <linux/sched.h> +#include "config-compat.h" #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,18) # define minor(x) MINOR(x) @@ -131,19 +132,6 @@ static inline unsigned long msleep_interruptible(unsigned int msecs) } #endif -#ifndef DVB_CVS -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) -#undef HAVE_LGDT330X -#undef HAVE_TDA1004X -#endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15) -#undef HAVE_NXT200X -#endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16) -#undef HAVE_CX24123 -#endif -#endif - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* some keys from 2.6.x which are not (yet?) in 2.4.x */ # define KEY_PLAY 207 diff --git a/v4l/scripts/gentree.pl b/v4l/scripts/gentree.pl index 0ae296b93..e58d410c2 100755 --- a/v4l/scripts/gentree.pl +++ b/v4l/scripts/gentree.pl @@ -2,12 +2,10 @@ use strict; use File::Find; use Fcntl ':mode'; -use Cwd; my $VER = shift; my $SRC = shift; my $DESTDIR = shift; -my $cwd; my $extra; @@ -70,9 +68,9 @@ sub filter_source ($$) { if ($line =~ m/^#include \"compat.h\"/) { next; } - if ($line =~ m/[\$]Id:/) { - next; - } +# if ($line =~ m/[\$]Id:/) { +# next; +# } if ($line =~ /^#ifdef MM_KERNEL/) { chomp($line); $state{$level} = "if"; @@ -81,8 +79,20 @@ sub filter_source ($$) { $level++; next; } - if ($line =~ /^\s*#if 0\s.*[Kk][Ee][Ee][Pp].*/) { - print OUT "#if 0\n"; + if ($line =~ /^#ifdef _COMPAT_H/) { + chomp($line); + $state{$level} = "if"; + $if{$level} = 0; + print STDERR "/* BP #if MM_KERNEL state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; + $level++; + next; + } + if ($line =~ m|^\s*\#if\s+0\s*\/[\*]\s*[Kk][Ee].[Pp]\s*[\*]\/(.*)|) { + if ($1 eq ";") { + print OUT "#if 0\n"; + } else { + print OUT "#if 0$1\n"; + } chomp($line); $state{$level} = "ifother"; $if{$level} = 0; @@ -90,6 +100,30 @@ sub filter_source ($$) { $level++; next; } + if ($line =~ /^#ifdef\sSTV0297_CS2/) { + chomp($line); + $state{$level} = "if"; + $if{$level} = 0; + print STDERR "/* BP #if 0 state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; + $level++; + next; + } + if ($line =~ /^#ifndef\sBROKEN_XAWTV/) { + chomp($line); + $state{$level} = "if"; + $if{$level} = 1; + print STDERR "/* BP #if 0 state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; + $level++; + next; + } + if ($line =~ /^#ifndef\sSTV0297_CS2/) { + chomp($line); + $state{$level} = "if"; + $if{$level} = 1; + print STDERR "/* BP #if 1 state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; + $level++; + next; + } if ($line =~ /^#if 0/) { chomp($line); $state{$level} = "if"; @@ -98,8 +132,8 @@ sub filter_source ($$) { $level++; next; } - if ($line =~ /^#if 1\s.*[Kk][Ee][Ee][Pp].*/) { - print OUT "#if 1\n"; + if ($line =~ m|^\s*\#if\s+1\s*\/[\*]\s*[Kk][Ee].[Pp]\s*[\*]\/(.*)|) { + print OUT "#if 1$1\n"; $state{$level} = "ifother"; $if{$level} = 1; print STDERR "/* BP #if 1 (keep) state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; @@ -122,6 +156,14 @@ sub filter_source ($$) { $level++; next; } + if ($line =~ /^#if.*CONFIG_XC3028/) { + chomp($line); + $state{$level} = "if"; + $if{$level} = 0; + print STDERR "/* BP #if 1 state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; + $level++; + next; + } if ($line =~ /^#if.*I2C_CLASS_TV_ANALOG/) { chomp($line); $state{$level} = "if"; @@ -138,7 +180,15 @@ sub filter_source ($$) { $level++; next; } - if ($line =~ /^#if.*I2C_CLASS_TV_DIGITAL/) { + if ($line =~ /^#ifndef.\s*I2C_PEC/) { + chomp($line); + $state{$level} = "if"; + $if{$level} = 0; + print STDERR "/* BP #if 1 state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; + $level++; + next; + } + if ($line =~ /^#ifdef.\s*I2C_PEC/) { chomp($line); $state{$level} = "if"; $if{$level} = 1; @@ -146,14 +196,14 @@ sub filter_source ($$) { $level++; next; } - if ($line =~ /^#if.*CONFIG_XC3028/) { + if ($line =~ /^#if.*I2C_CLASS_TV_DIGITAL/) { chomp($line); $state{$level} = "if"; - $if{$level} = 0; - print STDERR "/* BP #if 1 state=$state{$level} if=$if{$level} level=$level$ + $if{$level} = 1; + print STDERR "/* BP #if 1 state=$state{$level} if=$if{$level} level=$level ($line) */\n" if $DEBUG; $level++; next; - } + } if ($line =~ /^#if.*BTTV_VERSION_CODE/) { chomp($line); $line =~ s@^#if\s*@@; @@ -280,9 +330,7 @@ sub parse_dir { return; } - my $mode = (lstat("$cwd/$file"))[2]; - -# printf "Permissions of %s/%s are %04o (dir=%s\n", $cwd,$file, $mode, cwd; + my $mode = (lstat("$file"))[2]; if ($mode & S_IFDIR) { return; @@ -291,14 +339,14 @@ sub parse_dir { $srcdir =~ s/(.)/\[$1\]/g; my $f2 = $file; - $f2 =~ s,^$srcdir,$cwd/$DESTDIR/,; + $f2 =~ s,^$srcdir,$DESTDIR/,; print "from $file to $f2\n"; my $tmp = "/tmp/src.$$"; if ($file =~ m/.*\.[ch]$/) { - filter_source("$cwd/$file","$tmp"); + filter_source("$file","$tmp"); } else { - system("cp $cwd/$file $tmp"); + system("cp $file $tmp"); } my $dir = $f2; @@ -315,12 +363,11 @@ sub parse_dir { my $patchtmploc = "/tmp/temp.patch"; -printf STDERR <<EOF,$VER,$CODE; +printf <<EOF,$VER,$CODE; kernel is %s (0x%x) EOF -print STDERR "finding files at $SRC\n"; +print "finding files at $SRC\n"; -$cwd=cwd; find(\&parse_dir, $SRC); diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl index f612e83db..04430ccf2 100755 --- a/v4l/scripts/make_kconfig.pl +++ b/v4l/scripts/make_kconfig.pl @@ -1,37 +1,189 @@ #!/usr/bin/perl use FileHandle; -my $KDIR=shift; -my $ARCH=shift; +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; + + 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; + my $skip=0; + my $key; -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*bool\s+|) { + add_bool($key); + } + if (m|^\s*tristate\s+|) { + add_tristate($key); + } + if (m|^\s*config (.*)\n|) { + $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; } -open OUT,">Kconfig.kern"; -open_kconfig($KDIR,"$KDIR/arch/$ARCH/Kconfig"); -print OUT "endmenu\n"; -close OUT; +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"; -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"; + +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") || + ($key eq "DVB_CINERGYT2_TUNING") ) { + 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_makefile.pl b/v4l/scripts/make_makefile.pl new file mode 100755 index 000000000..238c5082f --- /dev/null +++ b/v4l/scripts/make_makefile.pl @@ -0,0 +1,163 @@ +#!/usr/bin/perl +use FileHandle; + +my $instdir = (); + +sub check_line($$$) +{ + my $dir=shift; + my $obj=shift; + my $arg=shift; + my $arg2=""; + + my $idir = $dir; + + $idir =~ s|^../linux/drivers/media/||; + + $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/^([^ ]+ )//; + my $cur=$1; + $arg2 = $arg2.$cur; + + $cur =~ s/\s+$//; + $cur =~ s/\\$//; + $cur =~ s/\s+$//; + $cur =~ s/\.o$/.ko/; + + if ( ($cur ne "") && (! ($instdir { $idir } =~ m/($cur) /))) { + $instdir { $idir } = $instdir { $idir }.$cur." "; + } + } + } + $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"); + +# Creating Install rule +printf OUT "media-install::\n"; +printf OUT "\t\@echo \"Stripping debug info from files:\"\n"; +printf OUT "\t\@strip --strip-debug \$(inst-m)\n\n"; + +while ( my ($key, $value) = each(%instdir) ) { + printf OUT "\t\@echo -e \"\\nInstalling \$(KDIR26)/$key files:\"\n"; + printf OUT "\t\@install -d \$(KDIR26)/$key\n"; + + printf OUT "\t\@files='$value'; "; + printf OUT "for i in \$\$files;do if [ -e \$\$i ]; then echo -n \"\$\$i \";"; + printf OUT " install -m 644 -c \$\$i \$(KDIR26)/$key; fi; done; echo;\n\n"; +} +printf OUT "\t/sbin/depmod -a \${KERNELRELEASE}\n\n"; + +# Creating Remove rule +printf OUT "media-rminstall::\n"; +printf OUT "\t\@echo -e \"\\nRemoving old \$(DEST) files\\n\"\n"; + +while ( my ($key, $value) = each(%instdir) ) { + printf OUT "\t\@echo -e \"\\nRemoving old \$(KDIR26)/$key files:\"\n"; + printf OUT "\t\@files='$value'; "; + + printf OUT "for i in \$\$files;do if [ -e \$(KDIR26)/$key/\$\$i ]; then "; + printf OUT "echo -n \"\$\$i \";"; + printf OUT " rm \$(KDIR26)/$key/\$\$i; fi; done; "; + + printf OUT "for i in \$\$files;do if [ -e \$(KDIR26)/$key/\$\$i.gz ]; then "; + printf OUT "echo -n \"\$\$i.gz \";"; + printf OUT " rm \$(KDIR26)/$key/\$\$i.gz; fi; done; echo;\n\n"; +} + +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; + +if (open OUT,".myconfig") { + close IN; +} else { + system "make allmodconfig"; +} diff --git a/v4l/scripts/make_noconfig.pl b/v4l/scripts/make_noconfig.pl new file mode 100755 index 000000000..a81e157e2 --- /dev/null +++ b/v4l/scripts/make_noconfig.pl @@ -0,0 +1,57 @@ +#!/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_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/scripts/makelinks.sh b/v4l/scripts/makelinks.sh index a66989771..03fd48849 100755 --- a/v4l/scripts/makelinks.sh +++ b/v4l/scripts/makelinks.sh @@ -39,10 +39,12 @@ done for x in `find include -type d | grep -v CVS` ; do ln -f -s $PWD/../v4l/compat.h $1/$x/compat.h + touch $1/$x/config-compat.h done for x in `find drivers/media -type d | grep -v CVS` ; do ln -f -s $PWD/../v4l/compat.h $1/$x/compat.h + touch $1/$x/config-compat.h done cd .. diff --git a/v4l/versions.txt b/v4l/versions.txt new file mode 100644 index 000000000..1e71513fa --- /dev/null +++ b/v4l/versions.txt @@ -0,0 +1,206 @@ +# Use this for stuff for drivers that don't compile +[2.6.99] +# This is broken for a long time +VIDEO_ZR36120 + +# This is also marked as broken +VIDEO_PLANB + +# Those are architecture-dependent +VIDEO_VINO +VIDEO_M32R_AR_M64278 + +[2.6.16] +VIDEO_USBVIDEO +USB_VICAM +USB_IBMCAM +USB_KONICAWC +USB_QUICKCAM_MESSENGER +USB_ET61X251 +USB_PWC +USB_PWC_DEBUG +USB_ZC0301 +VIDEO_ZORAN_AVS6EYES + +[2.6.14] +VIDEO_ZORAN +VIDEO_ZORAN_BUZ +VIDEO_ZORAN_DC10 +VIDEO_ZORAN_DC30 +VIDEO_ZORAN_LML33 +VIDEO_ZORAN_LML33R10 +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_M32R_AR +RADIO_CADET +RADIO_RTRACK +RADIO_RTRACK_PORT +RADIO_RTRACK2 +RADIO_RTRACK2_PORT +RADIO_AZTECH +RADIO_AZTECH_PORT +RADIO_GEMTEK +RADIO_GEMTEK_PORT +RADIO_GEMTEK_PCI +RADIO_MAXIRADIO +RADIO_MAESTRO +RADIO_MIROPCM20 +RADIO_MIROPCM20_RDS +RADIO_SF16FMI +RADIO_SF16FMR2 +RADIO_TERRATEC +RADIO_TERRATEC_PORT +RADIO_TRUST +RADIO_TRUST_PORT +RADIO_TYPHOON +RADIO_TYPHOON_PROC_FS +RADIO_TYPHOON_PORT +RADIO_TYPHOON_MUTEFREQ +RADIO_ZOLTRIX +RADIO_ZOLTRIX_PORT + +[2.6.13] +USB_SN9C102 + +[2.6.12] +VIDEO_VIVI +VIDEO_DEV +VIDEO_V4L1 +VIDEO_V4L2 +VIDEO_V4L1_COMPAT +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 +DVB_LNBP21 +DVB_ISL6421 +VIDEO_SAA7146 +VIDEO_SAA7146_VV +VIDEO_VIDEOBUF +VIDEO_TUNER +VIDEO_BUF +VIDEO_BUF_DVB +VIDEO_BTCX +VIDEO_IR +VIDEO_TVEEPROM |