diff options
Diffstat (limited to 'v4l')
-rw-r--r-- | v4l/Makefile | 4 | ||||
-rw-r--r-- | v4l/compat.h | 19 | ||||
-rw-r--r-- | v4l/scripts/changelog.tmpl | 5 | ||||
-rwxr-xr-x | v4l/scripts/make_kconfig.pl | 51 | ||||
-rw-r--r-- | v4l/scripts/map-changelog | 1 | ||||
-rw-r--r-- | v4l/versions.txt | 123 |
6 files changed, 113 insertions, 90 deletions
diff --git a/v4l/Makefile b/v4l/Makefile index 663369674..63d3fe48a 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -356,7 +356,7 @@ help:: RPWD := $(shell cd .. && pwd) thisdir := $(notdir $(RPWD)) -name := $(thisdir) +name := v4l-dvb date := $(shell date +%Y%m%d) tardest ?= . @@ -368,5 +368,5 @@ snapshot snap tarball:: update distclean echo $(name) echo $(date) > .snapshot (cd ..; tar czf $(snapdir)/$(snap)-$(date).tar.gz .) - cp ChangeLog /$(snapdir)/$(snap)-ChangeLog-$(date) + hg history --style scripts/map-changelog > /$(snapdir)/$(snap)-ChangeLog-$(date) $(MAKE) -C $(snapdir) diff --git a/v4l/compat.h b/v4l/compat.h index ae34380e0..9918f2e46 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -249,6 +249,11 @@ static inline unsigned long vmalloc_to_pfn(void * vmalloc_addr) #endif #endif +/* The class_device system didn't appear until 2.5.69 */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) +#define class_device_create_file(a, b) (0) +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) # define class_device_create(a, b, c, d, e, f, g, h) class_simple_device_add(a, c, d, e, f, g, h) # define class_device_destroy(a, b) class_simple_device_remove(b) @@ -274,6 +279,20 @@ static inline unsigned long vmalloc_to_pfn(void * vmalloc_addr) #define mutex_trylock(a) down_trylock(a) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14) +static inline signed long __sched +schedule_timeout_interruptible(signed long timeout) +{ + __set_current_state(TASK_INTERRUPTIBLE); + return schedule_timeout(timeout); +} +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) +#define IRQF_SHARED SA_SHIRQ +#define IRQF_DISABLED SA_INTERRUPT +#endif + #endif /* * Local variables: diff --git a/v4l/scripts/changelog.tmpl b/v4l/scripts/changelog.tmpl new file mode 100644 index 000000000..c1e5cb176 --- /dev/null +++ b/v4l/scripts/changelog.tmpl @@ -0,0 +1,5 @@ +User #author# +Date #date|date# +#desc# + +--- diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl index d5b34b36c..771efa63d 100755 --- a/v4l/scripts/make_kconfig.pl +++ b/v4l/scripts/make_kconfig.pl @@ -9,7 +9,7 @@ my %hexopt = (); my %tristate = (); my %kernopts = (); my %depmods = (); -my $version, $level, $sublevel; +my $version, $level, $sublevel, $kernver; my $kernel=shift; my $force_kconfig=shift; @@ -282,24 +282,14 @@ EOF $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) ) { + if (exists $minver{$key} && + cmp_ver($minver{$key}, $kernver) > 0) { $disabled=1; disable_config ($key); - print "$key requires version $minversion.$minlevel.$minsublevel\n"; + print "$key requires version $minver{$key}\n"; print OUT "# $key disabled for insufficient kernel version\n"; } else { -# print "OK: $key requires version $minversion.$minlevel.$minsublevel\n"; +# printf "OK: $key requires version %s\n", exists $minver{$key}?$minver{$key}:"any"; $disabled=0; } } @@ -318,19 +308,31 @@ sub parse_versions () open $in,"versions.txt" or die "File not found: 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); + if (/\[(\d+\.\d+\.\d+)\]/) { + $ver = $1; + } elsif (/^\s*(\w+)/) { + $minver{$1} = $ver; +# print "$1=$ver\n"; } } close $in; } +# Like ver1 <=> ver2, but understands X.Y.Z version strings +sub cmp_ver($$) +{ + shift =~ /(\d+)\.(\d+)\.(\d+)/; + my ($v1_ver,$v1_level,$v1_sublevel) = ($1,$2,$3); + shift =~ /(\d+)\.(\d+)\.(\d+)/; + my ($v2_ver,$v2_level,$v2_sublevel) = ($1,$2,$3); + + my $cmp = $v1_ver <=> $v2_ver; + return $cmp unless($cmp == 0); + $cmp = $v1_level <=> $v2_level; + return $cmp unless($cmp == 0); + return $v1_sublevel <=> $v2_sublevel; +} + process_config("linux/config.h"); parse_versions; @@ -341,11 +343,12 @@ while (<IN>) { $version=$1; $level=$2; $sublevel=$3; + $kernver="$version.$level.$sublevel"; } } close IN; -printf "Preparing to compile for kernel version %d.%d.%d\n",$version,$level,$sublevel; +print "Preparing to compile for kernel version $kernver\n"; open OUT,">Kconfig" or die "Cannot write Kconfig file"; diff --git a/v4l/scripts/map-changelog b/v4l/scripts/map-changelog new file mode 100644 index 000000000..cc5caeb1c --- /dev/null +++ b/v4l/scripts/map-changelog @@ -0,0 +1 @@ +changeset = changelog.tmpl diff --git a/v4l/versions.txt b/v4l/versions.txt index 0d7c9e5dc..80e96096c 100644 --- a/v4l/versions.txt +++ b/v4l/versions.txt @@ -6,80 +6,40 @@ VIDEO_ZR36120 # This is also marked as broken VIDEO_PLANB -[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 -VIDEO_TLV320AIC23B + +# DVB_CORE_ATTACH relies on symbol_put_addr which hangs pre-2.6.17 +[2.6.17] +DVB_CORE_ATTACH # Those are architecture-dependent +[2.6.16] VIDEO_VINO VIDEO_M32R_AR_M64278 -[2.6.14] -VIDEO_ZORAN +# Changes in struct i2c_driver, i2c_add_driver() +[2.6.16] VIDEO_ZORAN_BUZ VIDEO_ZORAN_DC10 VIDEO_ZORAN_DC30 VIDEO_ZORAN_LML33 VIDEO_ZORAN_LML33R10 +VIDEO_ZORAN_AVS6EYES 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 +VIDEO_OVCAMCHIP 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 +# Changes to usb_input.h, struct input_dev +[2.6.15] +USB_KONICAWC +USB_QUICKCAM_MESSENGER + +# Uses vm_insert_page() +[2.6.15] +USB_ZC0301 +USB_ET61X251 [2.6.12] VIDEO_VIVI @@ -116,7 +76,6 @@ VIDEO_CX88_DVB_CX22702 VIDEO_CX88_DVB_LGDT330X VIDEO_CX88_DVB_NXT200X VIDEO_CX88_DVB_CX24123 -VIDEO_OVCAMCHIP VIDEO_MSP3400 VIDEO_CS53L32A VIDEO_WM8775 @@ -159,11 +118,6 @@ 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 @@ -209,3 +163,44 @@ VIDEO_BTCX VIDEO_IR VIDEO_TVEEPROM VIDEO_CX2341X +VIDEO_USBVIDEO +USB_VICAM +USB_IBMCAM +VIDEO_TLV320AIC23B +USB_PWC +USB_PWC_DEBUG +VIDEO_ZORAN +VIDEO_BWQCAM +VIDEO_CQCAM +VIDEO_W9966 +VIDEO_PMS +VIDEO_STRADIS +VIDEO_CPIA +VIDEO_CPIA_PP +VIDEO_CPIA_USB +VIDEO_MEYE +USB_DABUSB +USB_DSBR +USB_OV511 +USB_SE401 +USB_STV680 +USB_W9968CF +VIDEO_M32R_AR +RADIO_CADET +RADIO_RTRACK +RADIO_RTRACK2 +RADIO_AZTECH +RADIO_GEMTEK +RADIO_GEMTEK_PCI +RADIO_MAXIRADIO +RADIO_MAESTRO +RADIO_MIROPCM20 +RADIO_MIROPCM20_RDS +RADIO_SF16FMI +RADIO_SF16FMR2 +RADIO_TERRATEC +RADIO_TRUST +RADIO_TYPHOON +RADIO_TYPHOON_PROC_FS +RADIO_ZOLTRIX +USB_SN9C102 |