summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-11-24 09:45:57 -0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-11-24 09:45:57 -0200
commit7dddcd8c1610cacae33a0ee67971d597c4bdaffb (patch)
treea5835041bc33836793a07aab44776eb06ba686ff /v4l
parent18efb709ad3602aebb032ef3f23aba5d45a44d38 (diff)
downloadmediapointer-dvb-s2-7dddcd8c1610cacae33a0ee67971d597c4bdaffb.tar.gz
mediapointer-dvb-s2-7dddcd8c1610cacae33a0ee67971d597c4bdaffb.tar.bz2
em28xx-alsa: implement another locking schema
From: Mauro Carvalho Chehab <mchehab@redhat.com> Instead of using a spinlock, it is better to call the proper pcm stream locking schema. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'v4l')
-rwxr-xr-xv4l/scripts/gentree.pl1
-rwxr-xr-xv4l/scripts/make_config_compat.pl20
2 files changed, 21 insertions, 0 deletions
diff --git a/v4l/scripts/gentree.pl b/v4l/scripts/gentree.pl
index fccaedff4..d84608aa1 100755
--- a/v4l/scripts/gentree.pl
+++ b/v4l/scripts/gentree.pl
@@ -73,6 +73,7 @@ my %defs = (
'BUZ_USE_HIMEM' => 1,
'NEED_SOUND_DRIVER_H' => 0,
'TTUSB_KERNEL' => 1,
+ 'NO_PCM_LOCK' => 0,
);
#################################################################
diff --git a/v4l/scripts/make_config_compat.pl b/v4l/scripts/make_config_compat.pl
index fdbc5eaba..3aac7e3b3 100755
--- a/v4l/scripts/make_config_compat.pl
+++ b/v4l/scripts/make_config_compat.pl
@@ -159,6 +159,25 @@ sub check_proc_create()
close INNET;
}
+sub check_pcm_lock()
+{
+ my $file = "$kdir/include/sound/pcm.h";
+ my $need_compat = 1;
+
+ open INNET, "<$file" or die "File not found: $file";
+ while (<INNET>) {
+ if (m/pcm_stream_lock/) {
+ $need_compat = 0;
+ last;
+ }
+ }
+
+ if ($need_compat) {
+ $out.= "\n#define NO_PCM_LOCK 1\n";
+ }
+ close INNET;
+}
+
sub check_other_dependencies()
{
check_spin_lock();
@@ -169,6 +188,7 @@ sub check_other_dependencies()
check_is_singular();
check_clamp();
check_proc_create();
+ check_pcm_lock();
}
# Do the basic rules