summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
Diffstat (limited to 'v4l')
-rw-r--r--v4l/compat.h2
-rwxr-xr-xv4l/scripts/do_merge.pl6
-rwxr-xr-xv4l/scripts/make_config_compat.pl21
-rw-r--r--v4l/versions.txt11
4 files changed, 36 insertions, 4 deletions
diff --git a/v4l/compat.h b/v4l/compat.h
index 56eb30853..11dc57109 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -9,7 +9,7 @@
* non-delayed work and struct delayed_work was created for delayed work. This
* will rename the structures. Hopefully no one will decide to name something
* delayed_work in the same context as something named work_struct. */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
+#ifdef NEED_DELAYED_WORK
#define delayed_work work_struct
#define INIT_DELAYED_WORK(a,b,c) INIT_WORK(a,b,c)
#endif
diff --git a/v4l/scripts/do_merge.pl b/v4l/scripts/do_merge.pl
index 1a6bbb1ee..6eccd77e7 100755
--- a/v4l/scripts/do_merge.pl
+++ b/v4l/scripts/do_merge.pl
@@ -64,7 +64,7 @@ sub check_status()
sub rollback()
{
- print "Rolling back hg pull $merge_tree\n";
+ print "*** ERROR *** Rolling back hg pull $merge_tree\n";
system("hg rollback");
system("hg update -C");
exit -1;
@@ -96,7 +96,7 @@ if ($user eq "") {
# Last try to come up with something
if ($user eq "") {
- print "User not known. Can't procceed\n";
+ print "*** ERROR *** User not known. Can't procceed\n";
exit -1;
}
@@ -158,7 +158,7 @@ if (!ret) {
$ret = system ('make mismatch|egrep -v "^\s*CC"|egrep -v "^\s*LD"');
}
if ($ret) {
- print "Build failed. Can't procceed.\n";
+ print "*** ERROR *** Build failed. Can't procceed.\n";
# To avoid the risk of doing something really bad, let's ask the user to run hg strip
print "Your tree is dirty. Since hg has only one rollback level, you'll need to use, instead:";
diff --git a/v4l/scripts/make_config_compat.pl b/v4l/scripts/make_config_compat.pl
index 7c7841459..1f5b8bae6 100755
--- a/v4l/scripts/make_config_compat.pl
+++ b/v4l/scripts/make_config_compat.pl
@@ -338,6 +338,26 @@ sub check_bitops()
$out.= "\n#define NEED_BITOPS 1\n";
}
+sub check_delayed_work()
+{
+ my @files = ( "$kdir//include/linux/workqueue.h" );
+
+ foreach my $file ( @files ) {
+ open IN, "<$file" or die "File not found: $file";
+ while (<IN>) {
+ if (m/struct\s+delayed_work/) {
+ close IN;
+ # definition found. No need for compat
+ return;
+ }
+ }
+ close IN;
+ }
+
+ # definition not found. This means that we need compat
+ $out.= "\n#define NEED_DELAYED_WORK 1\n";
+}
+
sub check_other_dependencies()
{
check_spin_lock();
@@ -357,6 +377,7 @@ sub check_other_dependencies()
check_poll_schedule();
check_snd_BUG_ON();
check_bitops();
+ check_delayed_work();
}
# Do the basic rules
diff --git a/v4l/versions.txt b/v4l/versions.txt
index 7e8e2fa6e..01b553d6c 100644
--- a/v4l/versions.txt
+++ b/v4l/versions.txt
@@ -1,6 +1,13 @@
# Use this for stuff for drivers that don't compile
[2.6.99]
+[2.6.31]
+# These rely on arch support that wasn't available until 2.6.31
+VIDEO_VPSS_SYSTEM
+VIDEO_VPFE_CAPTURE
+VIDEO_DM6446_CCDC
+VIDEO_DM355_CCDC
+
[2.6.29]
# Needs defines that are only available from 2.6.29
VIDEO_PXA27x
@@ -19,6 +26,10 @@ SOC_CAMERA
SOC_CAMERA_MT9V022
SOC_CAMERA_MT9M001
+[2.6.24]
+# Some freezer routines
+USB_GSPCA_SN9C20X_EVDEV
+
[2.6.23]
# Needs field intf_assoc in struct usb_host_config
VIDEO_CX231XX