[PATCH 10/10] media/dvb: add __init/__exit macros to drivers/media/dvb/bt8xx/bt878.c

2009-12-22 Thread peterhuewe
From: Peter Huewe peterhu...@gmx.de

Trivial patch which adds the __init/__exit macros to the module_init/
module_exit functions of

drivers/media/dvb/bt8xx/bt878.c

Please have a look at the small patch and either pull it through
your tree, or please ack' it so Jiri can pull it through the trivial
tree.

Patch against linux-next-tree, 22. Dez 08:38:18 CET 2009
but also present in linus tree.

Signed-off-by: Peter Huewe peterhu...@gmx.de
---
 drivers/media/dvb/bt8xx/bt878.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c
index a24c125..2a0886a 100644
--- a/drivers/media/dvb/bt8xx/bt878.c
+++ b/drivers/media/dvb/bt8xx/bt878.c
@@ -582,7 +582,7 @@ static int bt878_pci_driver_registered;
 /* Module management functions */
 /***/
 
-static int bt878_init_module(void)
+static int __init bt878_init_module(void)
 {
bt878_num = 0;
bt878_pci_driver_registered = 0;
@@ -600,7 +600,7 @@ static int bt878_init_module(void)
return pci_register_driver(bt878_pci_driver);
 }
 
-static void bt878_cleanup_module(void)
+static void __exit bt878_cleanup_module(void)
 {
if (bt878_pci_driver_registered) {
bt878_pci_driver_registered = 0;
-- 
1.6.4.4

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://www.kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2

2009-12-22 Thread Mauro Carvalho Chehab
Em 22-12-2009 01:50, Devin Heitmueller escreveu:
 On Mon, Dec 21, 2009 at 10:24 PM, Mauro Carvalho Chehab
 mche...@infradead.org wrote:
 In the case of this patch series, the complains are not related to 80 cols:
 snip
 
 In this case, there was a mix of 80-column issues, as well as some
 other issues. 

Yes, there are a few 80-column warnings but those are minor issues.
On several cases, fixing such warnings is bad.

 I did fix the issues other than the 80-column issues
 through patches added to the tree last night (and in fact I did fix
 all the 80 column issues in my actual changes - but did not fix 80
 column issues that happened to appear in the diff but were
 pre-existing).
 
 Please let me know if you have any other issues.

Provided that you've fixed the points that Takashi rised about the alsa
part, I'm fine. Please send a separate pull request c/c him , in order
to allow him to send his ack.

Cheers,
Mauro.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://www.kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2

2009-12-22 Thread Takashi Iwai
At Mon, 21 Dec 2009 12:30:48 -0500,
Devin Heitmueller wrote:
 
 On Mon, Dec 21, 2009 at 12:21 PM, Takashi Iwai ti...@suse.de wrote:
  Just a very quick look through the files, here are some comments:
 
  - snd_card_free() can't be called with NULL, but the error path in
   snd_cx18_init() may reach that (when snd_card_create() returns an
   error).
 
  - Specifying both SNDRV_PCM_RATE_CONTINOUS and _KNOT to
   snd_pcm_hw_info.rates doesn't make sense.  In your case, if it's
   only 48kHz, SNDRV_PCM_RATE_48000 there instead.
 
  - vfree() should be called in hw_free callback rather than close
   callback.  And, there are already global vmalloc-buffer helper
   functions in the latest ALSA tree for 2.6.34...
 
  - It'd be nice if you give TLV information for the mixer dB mapping.
 
 Hello Takashi,
 
 Thanks for taking the time to provide feedback.  I will make these
 changes and add them to the tree.
 
 Out of curiosity, is there any sort of tool/code which exercises the
 driver to verify the advertised capabilities.  Part of the problem
 here is that it is not really easy to find example applications which
 use all the features, which I suspect is one of the big headaches that
 the PulseAudio people are suffering from in that they are finding bugs
 in ALSA drivers because they are the first ones to actually attempt to
 use some of these capabilities.  For me the card works, but then
 some user complains that their PulseAudio is broken because I didn't
 setup the config structures properly or only half-implemented some
 capability used by PulseAudio but not arecord/aplay.

Yeah, the test suite is one of the biggest missing pieces.
Due to its nature, the automatic test is a bit hard to achieve with
the real hardwares.

Some tools are found, however, in alsa-lib/test directory.  For example,
pcm.c can test different PCM access methods.


Takashi
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


em28xx driver - xc3028 tuner - readreg error

2009-12-22 Thread Valerio Bontempi
Hi all,

today, after I have just installed an update for v4l-lib and
v4l-lib-devel opensuse 11.2 packages, my v4l-dvb driver (compiled from
sources) does not work anymore
Just looking to dmesg output I find

[  806.721162] em28xx: New device TerraTec Electronic GmbH Cinergy T
USB XS @ 480 Mbps (0ccd:0043, interface 0, class 0)
[  806.721353] em28xx #0: chip ID is em2870
[  806.833068] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 43 00 c0 12
5c 00 9e 24 6a 34
[  806.833096] em28xx #0: i2c eeprom 10: 00 00 06 57 02 0c 00 00 00 00
00 00 00 00 00 00
[  806.833117] em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00
00 00 5b 00 00 00
[  806.833138] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01
00 00 00 00 00 00
[  806.833158] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[  806.833178] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[  806.833198] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00
34 03 54 00 65 00
[  806.833218] em28xx #0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00
63 00 20 00 45 00
[  806.833238] em28xx #0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00
6f 00 6e 00 69 00
[  806.833258] em28xx #0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00
48 00 00 00 24 03
[  806.833279] em28xx #0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00
67 00 79 00 20 00
[  806.833299] em28xx #0: i2c eeprom b0: 54 00 20 00 55 00 53 00 42 00
20 00 58 00 53 00
[  806.833319] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[  806.89] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[  806.833359] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[  806.833379] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[  806.833401] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xbfdf1b96
[  806.833409] em28xx #0: EEPROM info:
[  806.833414] em28xx #0:   No audio on board.
[  806.833419] em28xx #0:   500mA max power
[  806.833425] em28xx #0:   Table at 0x06, strings=0x249e, 0x346a, 0x
[  806.834138] em28xx #0: Identified as Terratec Cinergy T XS (card=43)
[  806.834289] em28xx #0:
[  806.834290]
[  806.834297] em28xx #0: The support for this board weren't valid yet.
[  806.834305] em28xx #0: Please send a report of having this working
[  806.834312] em28xx #0: not to V4L mailing list (and/or to other addresses)
[  806.834314]
[  806.842097] tuner 2-0061: chip found @ 0xc2 (em28xx #0)
[  806.842263] xc2028 2-0061: creating new instance
[  806.842271] xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner
[  806.842288] usb 1-4: firmware: requesting xc3028-v27.fw
[  806.853287] xc2028 2-0061: Loading 80 firmware images from
xc3028-v27.fw, type: xc2028 firmware, ver 2.7
[  806.886020] xc2028 2-0061: Loading firmware for type=BASE (1), id
.
[  808.284017] xc2028 2-0061: Loading firmware for type=(0), id
b700.
[  808.310009] SCODE (2000), id b700:
[  808.310020] xc2028 2-0061: Loading SCODE for type=MONO SCODE
HAS_IF_4320 (60008000), id 8000.
[  808.433021] em28xx #0: v4l2 driver version 0.1.2
[  808.437908] em28xx #0: V4L2 video device registered as /dev/video1
[  808.441137] usbcore: registered new interface driver em28xx
[  808.441154] em28xx driver loaded
[  808.562319] zl10353_read_register: readreg error (reg=127, ret==-19)
[  808.562937] mt352_read_register: readreg error (reg=127, ret==-19)
[  808.563050] em28xx #0: /2: dvb frontend not attached. Can't attach xc3028
[  808.563061] Em28xx: Initialized (Em28xx dvb Extension) extension


Before the update, v4l-dvb driver worked fine, and now it doesn't work
even if I remove the updated packages.
Checking for kernel modules conflict, I found only the modules
installed by v4l-dvb sources.
#find /lib/modules/`uname -r` -name 'em28xx*' | xargs -i ls -l {}
totale 236
-rw-r--r-- 1 root root 21464 22 dic 16:03
/lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-alsa.ko
-rw-r--r-- 1 root root 26176 22 dic 16:03
/lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-dvb.ko
-rw-r--r-- 1 root root 184936 22 dic 16:03
/lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx.ko

Which could be the reason of readreg error?


Thanks and regars

Valerio
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH - v2 1/6] V4L - vpfe capture - header files for ISIF driver

2009-12-22 Thread Karicheri, Muralidharan
Hi Hans,

If there are no more comments on this patch set, could you please
merge this to your hg tree?

Murali Karicheri
Software Design Engineer
Texas Instruments Inc.
Germantown, MD 20874
phone: 301-407-9583
email: m-kariche...@ti.com

-Original Message-
From: Karicheri, Muralidharan
Sent: Friday, December 18, 2009 6:58 PM
To: linux-media@vger.kernel.org; hverk...@xs4all.nl;
khil...@deeprootsystems.com; Hiremath, Vaibhav; Nori, Sekhar
Cc: davinci-linux-open-sou...@linux.davincidsp.com; Karicheri, Muralidharan
Subject: [PATCH - v2 1/6] V4L - vpfe capture - header files for ISIF driver

From: Muralidharan Karicheri m-kariche...@ti.com

Updated based on comments against v1 of the patch

This is the header file for ISIF driver on DM365.  ISIF driver is
equivalent
to CCDC driver on DM355 and DM644x. This driver is tested for
YUV capture from TVP514x driver. This patch contains the header files
required for
this driver. The name of the file is changed to reflect the name of IP.

Reviewed-by: Nori, Sekhar nsek...@ti.com
Reviewed-by: Hans Verkuil hverk...@xs4all.nl
Signed-off-by: Muralidharan Karicheri m-kariche...@ti.com
---
Applies to linux-next tree of v4l-dvb
 drivers/media/video/davinci/isif_regs.h |  269 
 include/media/davinci/isif.h|  531
+++
 2 files changed, 800 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/davinci/isif_regs.h
 create mode 100644 include/media/davinci/isif.h

diff --git a/drivers/media/video/davinci/isif_regs.h
b/drivers/media/video/davinci/isif_regs.h
new file mode 100644
index 000..f7b8893
--- /dev/null
+++ b/drivers/media/video/davinci/isif_regs.h
@@ -0,0 +1,269 @@
+/*
+ * Copyright (C) 2008-2009 Texas Instruments Inc
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
USA
+ */
+#ifndef _ISIF_REGS_H
+#define _ISIF_REGS_H
+
+/* ISIF registers relative offsets */
+#define SYNCEN0x00
+#define MODESET   0x04
+#define HDW   0x08
+#define VDW   0x0c
+#define PPLN  0x10
+#define LPFR  0x14
+#define SPH   0x18
+#define LNH   0x1c
+#define SLV0  0x20
+#define SLV1  0x24
+#define LNV   0x28
+#define CULH  0x2c
+#define CULV  0x30
+#define HSIZE 0x34
+#define SDOFST0x38
+#define CADU  0x3c
+#define CADL  0x40
+#define LINCFG0   0x44
+#define LINCFG1   0x48
+#define CCOLP 0x4c
+#define CRGAIN0x50
+#define CGRGAIN   0x54
+#define CGBGAIN   0x58
+#define CBGAIN0x5c
+#define COFSTA0x60
+#define FLSHCFG0  0x64
+#define FLSHCFG1  0x68
+#define FLSHCFG2  0x6c
+#define VDINT00x70
+#define VDINT10x74
+#define VDINT20x78
+#define MISC  0x7c
+#define CGAMMAWD  0x80
+#define REC656IF  0x84
+#define CCDCFG0x88
+/*
+* Defect Correction registers
+*/
+#define DFCCTL0x8c
+#define VDFSATLV  0x90
+#define DFCMEMCTL 0x94
+#define DFCMEM0   0x98
+#define DFCMEM1   0x9c
+#define DFCMEM2   

Re: [PULL] http://www.kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2

2009-12-22 Thread Devin Heitmueller
On Tue, Dec 22, 2009 at 5:34 AM, Mauro Carvalho Chehab
 Provided that you've fixed the points that Takashi rised about the alsa
 part, I'm fine. Please send a separate pull request c/c him , in order
 to allow him to send his ack.

Ok.  With the holidays upon us and my being out of town, I will try to
do this Sunday night.

Thanks,

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: em28xx driver - xc3028 tuner - readreg error

2009-12-22 Thread Devin Heitmueller
On Tue, Dec 22, 2009 at 10:11 AM, Valerio Bontempi
valerio.bonte...@gmail.com wrote:
 Before the update, v4l-dvb driver worked fine, and now it doesn't work
 even if I remove the updated packages.
 Checking for kernel modules conflict, I found only the modules
 installed by v4l-dvb sources.
 #find /lib/modules/`uname -r` -name 'em28xx*' | xargs -i ls -l {}
 totale 236
 -rw-r--r-- 1 root root 21464 22 dic 16:03
 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-alsa.ko
 -rw-r--r-- 1 root root 26176 22 dic 16:03
 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-dvb.ko
 -rw-r--r-- 1 root root 184936 22 dic 16:03
 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx.ko

My guess is that these files were provided by your distro through a
kernel update (and in 2.6.31 this board is known to have problems
which have been fixed in the latest v4l-dvb tree).

I would suggest the following going into your v4l-dvb tree and doing
the following:

make distclean  make  make install  reboot

And see if the problem clears up.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


AW: [linux-dvb] Kernel oops with Technotrend S2-3200

2009-12-22 Thread Newsy Paper
Hi,

it seems problem has been fixed.

kind regards

Newsy


--- Oliver Holler ohol...@live.com schrieb am So, 20.12.2009:

 Von: Oliver Holler ohol...@live.com
 Betreff: [linux-dvb] Kernel oops with Technotrend S2-3200
 An: linux-...@linuxtv.org
 Datum: Sonntag, 20. Dezember 2009, 19:26
 
 
 
 
  
 Hello,
 
 I am trying to get a new Technotrend S2-3200 to run.
 I am using changeset 13992:77a5248e92b5 of s2-liplianin and
 kernel 2.6.31.8 and 2.6.32.1.
 
 When I try to load the module with modprobe budget_ci
 I am getting a kernel: Oops:  [#1] PREEMPT.
 
 I appreciate any help.
 
 Here is the syslog:
 Dec 20 15:27:37 fs1 kernel: saa7146: register extension
 'budget_ci dvb'.
 Dec 20 15:27:37 fs1 kernel: budget_ci dvb :01:01.0: PCI
 INT A - GSI 20 (level, low) - IRQ 20
 Dec 20 15:27:37 fs1 kernel: IRQ 20/: IRQF_DISABLED is not
 guaranteed on shared IRQs
 Dec 20 15:27:37 fs1 kernel: saa7146: found saa7146 @ mem
 f8210c00 (revision 1, irq 20) (0x13c2,0x1019).
 Dec 20 15:27:37 fs1 kernel: saa7146 (0): dma buffer size
 192512
 Dec 20 15:27:37 fs1 kernel: DVB: registering new adapter
 (TT-Budget S2-3200 PCI)
 Dec 20 15:27:37 fs1 kernel: adapter has MAC addr =
 00:d0:5c:64:99:e6
 Dec 20 15:27:37 fs1 kernel: input: Budget-CI dvb ir
 receiver saa7146 (0) as /class/input/input2
 Dec 20 15:27:37 fs1 kernel: Creating IR device irrcv0
 Dec 20 15:27:37 fs1 kernel: BUG: unable to handle kernel
 paging request at 72727563
 Dec 20 15:27:37 fs1 kernel: IP: [cf36]
 strcmp+0x7/0x19
 Dec 20 15:27:37 fs1 kernel: *pde =  
 Dec 20 15:27:37 fs1 kernel: Oops:  [#1] PREEMPT 
 Dec 20 15:27:37 fs1 kernel: last sysfs file:
 /sys/class/net/lo/operstate
 Dec 20 15:27:37 fs1 kernel: Modules linked in: budget_ci(+)
 ir_common budget_core dvb_core saa7146 ttpci_eeprom ir_core
 fuse evdev atl1 iTCO_wdt iTCO_vendor_support i2c_i801
 ehci_hcd uhci_hcd thermal processor button thermal_sys
 usbcore
 Dec 20 15:27:37 fs1 kernel: 
 Dec 20 15:27:37 fs1 kernel: Pid: 10958, comm: modprobe Not
 tainted (2.6.31.8 #1) System Product Name
 Dec 20 15:27:37 fs1 kernel: EIP: 0060:[cf36]
 EFLAGS: 00010282 CPU: 0
 Dec 20 15:27:37 fs1 kernel: EIP is at strcmp+0x7/0x19
 Dec 20 15:27:37 fs1 kernel: EAX: c12b2475 EBX: f662e534
 ECX: 0001 EDX: 72727563
 Dec 20 15:27:37 fs1 kernel: ESI: c12b24bb EDI: 72727563
 EBP: f662e560 ESP: f6bffdcc
 Dec 20 15:27:37 fs1 kernel:  DS: 007b ES: 007b FS:
  GS: 0033 SS: 0068
 Dec 20 15:27:37 fs1 kernel: Process modprobe (pid: 10958,
 ti=f6bfe000 task=f70eb1b0 task.ti=f6bfe000)
 Dec 20 15:27:37 fs1 kernel: Stack:
 Dec 20 15:27:37 fs1 kernel:  72727563 f6bffe08
 c1092f33 f814fcb0 f662e458 c1093018 f814fcb0 f662e458
 Dec 20 15:27:37 fs1 kernel: 0 f6bffe08 c10930c2
 f814fcb0 f662e458 fff4 f662e560 c1092c0a f662e560
 Dec 20 15:27:37 fs1 kernel: 0  
  0001  f81507f4 f684d488 c109460e
 Dec 20 15:27:37 fs1 kernel: Call Trace:
 Dec 20 15:27:37 fs1 kernel:  [c1092f33] ?
 sysfs_find_dirent+0x13/0x23
 Dec 20 15:27:37 fs1 kernel:  [c1093018] ?
 __sysfs_add_one+0x11/0x81
 Dec 20 15:27:37 fs1 kernel:  [c10930c2] ?
 sysfs_add_one+0xd/0x70
 Dec 20 15:27:37 fs1 kernel:  [c1092c0a] ?
 sysfs_add_file_mode+0x3f/0x66
 Dec 20 15:27:37 fs1 kernel:  [c109460e] ?
 internal_create_group+0xd0/0x140
 Dec 20 15:27:37 fs1 kernel:  [f814f7b4] ?
 ir_register_class+0x64/0x92 [ir_core]
 Dec 20 15:27:37 fs1 kernel:  [f814f32b] ?
 ir_input_register+0x133/0x176 [ir_core]
 Dec 20 15:27:37 fs1 kernel:  [f8206d08] ?
 budget_ci_attach+0x1fa/0xb0c [budget_ci]
 Dec 20 15:27:37 fs1 kernel:  [f81642ea] ?
 saa7146_init_one+0x4ea/0x6cb [saa7146]
 Dec 20 15:27:37 fs1 kernel:  [c10930c2] ?
 sysfs_add_one+0xd/0x70
 Dec 20 15:27:37 fs1 kernel:  [c111a55d] ?
 local_pci_probe+0xb/0xc
 Dec 20 15:27:37 fs1 kernel:  [c111aba1] ?
 pci_device_probe+0x41/0x63
 Dec 20 15:27:37 fs1 kernel:  [c115f5d2] ?
 driver_probe_device+0x75/0xfc
 Dec 20 15:27:37 fs1 kernel:  [c115f699] ?
 __driver_attach+0x40/0x5b
 Dec 20 15:27:37 fs1 kernel:  [c115f055] ?
 bus_for_each_dev+0x37/0x5f
 Dec 20 15:27:37 fs1 kernel:  [c115f4ba] ?
 driver_attach+0x11/0x13
 Dec 20 15:27:37 fs1 kernel:  [c115f659] ?
 __driver_attach+0x0/0x5b
 Dec 20 15:27:37 fs1 kernel:  [c115eaea] ?
 bus_add_driver+0x99/0x1bc
 Dec 20 15:27:37 fs1 kernel:  [c115f8b3] ?
 driver_register+0x87/0xe0
 Dec 20 15:27:37 fs1 kernel:  [c111aeea] ?
 __pci_register_driver+0x2c/0x82
 Dec 20 15:27:37 fs1 kernel:  [f820d000] ?
 budget_ci_init+0x0/0xa [budget_ci]
 Dec 20 15:27:37 fs1 kernel:  [c100112b] ?
 do_one_initcall+0x43/0x11f
 Dec 20 15:27:37 fs1 kernel:  [c1036773] ?
 sys_init_module+0xa7/0x1b4
 Dec 20 15:27:37 fs1 kernel:  [c10028f4] ?
 sysenter_do_call+0x12/0x26
 Dec 20 15:27:37 fs1 kernel: Code: 04 31 db 89 0c 24 89 d8
 89 d1 f2 ae 4f 8b 0c 24 49 78 06 ac aa 84 c0 75 f7 31 c0 aa
 5b 89 e8 5b 5e 5f 5d c3 57 89 d7 56 89 c6 ac ae 75
 08 84 c0 75 f8 31 c0 eb 04 19 c0 0c 01 5e 5f c3 57 89 d7 
 Dec 20 15:27:37 fs1 kernel: EIP: [cf36]
 strcmp+0x7/0x19 SS:ESP 0068:f6bffdcc
 Dec 20 

tt s2-3200: dvb-s2 problem transponders fixed :) concerns SR 30000 3/4 8psk mode

2009-12-22 Thread Newsy Paper
thanks to Andreas Regel + Manu Abraham for their work.

I just tested those problem transponders. If I set SR to 29998 instead of 3 
they finally work with recent s2-liplian changeset.

Thank you for your great work and thanks to all the others involved in v4l 
driver development.

kind regards


Newsy

__
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.com 
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make a Zaapa LR301AP DVB-T card work

2009-12-22 Thread Antonio Marcos López Alonso

 
 Antonio,
 
 the report for tda10046 firmware loading is missing. Was that OK?

Yes:

tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 29 -- ok

 
 LR301 is a LifeView design. It is very common to see multiple other
 subvendors for their cards, but they keep the original subdevice ID.
 In this case 0x0301. The subvendor 0x4e42 is usually Typhoon/Anubis and
 they are distributing clones of almost all LifeView cards.
 
 Gpio init is the same like on the other known LR301 cards and eeprom
 differs only for a few bytes, but not for tuner type, tuner and demod
 address.
 
 http://ubuntuforums.org/archive/index.php/t-328140.html
 
 Since this design with a saa7134 chip and tda8274 DVB-T only tuner is very
  old, I don't expect an additional Low Noise Amplifier on it.
 
 We can't detect such LNAs and on newer cards they can cause problems, if
 not configured correctly and might cause scan to fail.
 
 If you mean above other card types did previously work for your card,
 use them and report.

No, I meant other physical cards. Just to ensure it is not likely to be an 
aerial problem.

 
 Sorry, I don't have better ideas for your card so far.

I have not included the tuner parameter in the options line which I think 
it could be the problem. Is this parameter mandatory? If so, which is the 
proper one?

Cheers,
Antonio
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: em28xx driver - xc3028 tuner - readreg error

2009-12-22 Thread Valerio Bontempi
2009/12/22 Devin Heitmueller dheitmuel...@kernellabs.com:
 On Tue, Dec 22, 2009 at 10:11 AM, Valerio Bontempi
 valerio.bonte...@gmail.com wrote:
 Before the update, v4l-dvb driver worked fine, and now it doesn't work
 even if I remove the updated packages.
 Checking for kernel modules conflict, I found only the modules
 installed by v4l-dvb sources.
 #find /lib/modules/`uname -r` -name 'em28xx*' | xargs -i ls -l {}
 totale 236
 -rw-r--r-- 1 root root 21464 22 dic 16:03
 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-alsa.ko
 -rw-r--r-- 1 root root 26176 22 dic 16:03
 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-dvb.ko
 -rw-r--r-- 1 root root 184936 22 dic 16:03
 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx.ko

 My guess is that these files were provided by your distro through a
 kernel update (and in 2.6.31 this board is known to have problems
 which have been fixed in the latest v4l-dvb tree).

 I would suggest the following going into your v4l-dvb tree and doing
 the following:

 make distclean  make  make install  reboot

 And see if the problem clears up.

 Devin

 --
 Devin J. Heitmueller - Kernel Labs
 http://www.kernellabs.com


This is just I have done after removing the update packages (all
related to v4l libs and tools, none related to opensuse kernel), but
with no luck

However I have just tried what you suggested, but the problem hasn't
been cleared up

[7.276755] em28xx: New device TerraTec Electronic GmbH Cinergy T
USB XS @ 480 Mbps (0ccd:0043, interface 0, class 0)
[7.276993] em28xx #0: chip ID is em2870
[7.310070] vc032x: Sensor ID 7673 (16)
[7.310075] vc032x: Find Sensor OV7670
[7.310187] gspca: /dev/video0 created
[7.310224] usbcore: registered new interface driver vc032x
[7.310228] vc032x: registered
[7.394941] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 43 00 c0 12
5c 00 9e 24 6a 34
[7.394956] em28xx #0: i2c eeprom 10: 00 00 06 57 02 0c 00 00 00 00
00 00 00 00 00 00
[7.394967] em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00
00 00 5b 00 00 00
[7.394977] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01
00 00 00 00 00 00
[7.394988] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[7.394998] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[7.395008] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00
34 03 54 00 65 00
[7.395021] em28xx #0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00
63 00 20 00 45 00
[7.395032] em28xx #0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00
6f 00 6e 00 69 00
[7.395042] em28xx #0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00
48 00 00 00 24 03
[7.395052] em28xx #0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00
67 00 79 00 20 00
[7.395063] em28xx #0: i2c eeprom b0: 54 00 20 00 55 00 53 00 42 00
20 00 58 00 53 00
[7.395074] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[7.395084] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[7.395094] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[7.395104] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
[7.395116] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xbfdf1b96
[7.395119] em28xx #0: EEPROM info:
[7.395120] em28xx #0:   No audio on board.
[7.395122] em28xx #0:   500mA max power
[7.395125] em28xx #0:   Table at 0x06, strings=0x249e, 0x346a, 0x
[7.395813] em28xx #0: Identified as Terratec Cinergy T XS (card=43)
[7.395816] em28xx #0:
[7.395816]
[7.395830] em28xx #0: The support for this board weren't valid yet.
[7.395838] em28xx #0: Please send a report of having this working
[7.395845] em28xx #0: not to V4L mailing list (and/or to other addresses)
[7.395846]
[7.412090] forcedeth :00:0a.0: ifname eth0, PHY OUI 0x1374 @
0, addr 00:1a:92:34:d4:d7
[7.412096] forcedeth :00:0a.0: highdma csum gbit lnktim desc-v3
[7.412275] k8temp :00:18.3: Temperature readouts might be
wrong - check erratum #141
[7.414043] EDAC amd64: This node reports that Memory ECC is
currently disabled.
[7.414048] EDAC amd64: bit 0x40 in register F3x44 of the
MISC_CONTROL device (:00:18.3) should be enabled
[7.414051] EDAC amd64: WARNING: ECC is NOT currently enabled by
the BIOS. Module will NOT be loaded.
[7.414053] Either Enable ECC in the BIOS, or use the
'ecc_enable_override' parameter.
[7.414055] Might be a BIOS bug, if BIOS says ECC is enabled
[7.414056] Use of the override can cause unknown side effects.
[7.414073] amd64_edac: probe of :00:18.2 failed with error -22
[7.501404] usbcore: registered new interface driver snd-usb-audio
[7.843367] tuner 2-0061: chip found @ 0xc2 (em28xx #0)
[8.123514] xc2028 2-0061: creating new instance
[8.123519] 

[RFC v2 0/7] V4L2 file handles and event interface

2009-12-22 Thread Sakari Ailus

Hi,

Here's the second version of the V4L2 file handle and event interface 
patchset. Still RFC since I'd like to get more feedback on it.


The first patch adds the V4L2 file handle support and the rest are for 
V4L2 events.


The patchset works with the OMAP 3 ISP driver. Patches for OMAP 3 ISP 
are not part of this patchset but are available in Gitorious (branch is 
called events):


git://gitorious.org/omap3camera/mainline.git event

The major change since the last one v4l2_fh structure is now part of 
driver's own file handle. It's used as file-private_data as well. I did 
this based on Hans Verkuil's suggestion. Sequence numbers and event 
queue length limitation is there as well. There are countless of smaller 
changes, too.


A few notes on the patches:

- I don't like the locking too much. Perhaps the file handle specific 
lock (events-lock) could be dropped in favour of the lock for 
v4l2_file_handle in video_device?


- Poll. The V4L2 specifiction says:

When the application did not call VIDIOC_QBUF or
VIDIOC_STREAMON yet the poll() function succeeds, but sets the
POLLERR flag in the revents field.

  The current events for OMAP 3 ISP are related to streaming but not 
all might be in future. For example there might be some radio or DVB 
related events.


- Sequence numbers are local to file handles.

- Subscribing V4L2_EVENT_ALL causes any other events to be unsubscribed.

- If V4L2_EVENT_ALL has been subscribed, unsubscribing any one of the 
events leads to V4L2_EVENT_ALL to be unsubscribed. This problem would be 
difficult to work around since this would require the event system to be 
aware of the driver private events as well.


- If events are missed, the sequence number is incremented in any case. 
This way the user space knows events have been missed.


Comments would be very, very welcome.

Cheers,

--
Sakari Ailus
sakari.ai...@maxwell.research.nokia.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2 7/7] V4L: Events: Support all events

2009-12-22 Thread Sakari Ailus
Add support for subscribing V4L2_EVENT_ALL. After V4L2_EVENT_ALL is
subscribed, unsubscribing any event leads to unsubscription of all events.

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/v4l2-event.c |   34 --
 1 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index cc2bf57..95b3917 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -62,6 +62,22 @@ void v4l2_event_init_fh(struct v4l2_fh *fh)
 }
 EXPORT_SYMBOL_GPL(v4l2_event_init_fh);
 
+static void __v4l2_event_unsubscribe_all(struct v4l2_fh *fh)
+{
+   struct v4l2_events *events = fh-events;
+
+   while (!list_empty(events-subscribed)) {
+   struct v4l2_subscribed_event *sub;
+
+   sub = list_entry(events-subscribed.next,
+   struct v4l2_subscribed_event, list);
+
+   list_del(sub-list);
+
+   kfree(sub);
+   }
+}
+
 void v4l2_event_exit_fh(struct v4l2_fh *fh)
 {
struct v4l2_events *events = fh-events;
@@ -77,16 +93,7 @@ void v4l2_event_exit_fh(struct v4l2_fh *fh)
kmem_cache_free(event_kmem, ev);
}
 
-   while (!list_empty(events-subscribed)) {
-   struct v4l2_subscribed_event *sub;
-
-   sub = list_entry(events-subscribed.next,
-   struct v4l2_subscribed_event, list);
-
-   list_del(sub-list);
-
-   kfree(sub);
-   }
+   __v4l2_event_unsubscribe_all(fh);
 }
 EXPORT_SYMBOL_GPL(v4l2_event_exit_fh);
 
@@ -125,6 +132,11 @@ static struct v4l2_subscribed_event 
*__v4l2_event_subscribed(
struct v4l2_events *events = fh-events;
struct v4l2_subscribed_event *ev;
 
+   ev = container_of(events-subscribed.next,
+ struct v4l2_subscribed_event, list);
+   if (ev-type == V4L2_EVENT_ALL)
+   return ev;
+
list_for_each_entry(ev, events-subscribed, list) {
if (ev-type == type)
return ev;
@@ -237,6 +249,8 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
INIT_LIST_HEAD(ev-list);
ev-type = sub-type;
 
+   if (ev-type == V4L2_EVENT_ALL)
+   __v4l2_event_unsubscribe_all(fh);
list_add(ev-list, events-subscribed);
 
 out:
-- 
1.5.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2 3/7] V4L: Events: Support event handling in do_ioctl

2009-12-22 Thread Sakari Ailus
Add support for event handling to do_ioctl.

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/v4l2-ioctl.c |   48 ++
 include/media/v4l2-ioctl.h   |9 +++
 2 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index bfc4696..6964bcc 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -1797,7 +1797,55 @@ static long __video_do_ioctl(struct file *file,
}
break;
}
+   case VIDIOC_DQEVENT:
+   {
+   struct v4l2_event *ev = arg;
+
+   if (!ops-vidioc_dqevent)
+   break;
+
+   ret = ops-vidioc_dqevent(file-private_data, ev);
+   if (ret  0) {
+   dbgarg(cmd, no pending events?);
+   break;
+   }
+   dbgarg(cmd,
+  count=%d, type=0x%8.8x, sequence=%d, 
+  timestamp=%lu.%9.9lu ,
+  ev-count, ev-type, ev-sequence,
+  ev-timestamp.tv_sec, ev-timestamp.tv_nsec);
+   break;
+   }
+   case VIDIOC_SUBSCRIBE_EVENT:
+   {
+   struct v4l2_event_subscription *sub = arg;
 
+   if (!ops-vidioc_subscribe_event)
+   break;
+
+   ret = ops-vidioc_subscribe_event(file-private_data, sub);
+   if (ret  0) {
+   dbgarg(cmd, failed, ret=%ld, ret);
+   break;
+   }
+   dbgarg(cmd, type=0x%8.8x, sub-type);
+   break;
+   }
+   case VIDIOC_UNSUBSCRIBE_EVENT:
+   {
+   struct v4l2_event_subscription *sub = arg;
+
+   if (!ops-vidioc_unsubscribe_event)
+   break;
+
+   ret = ops-vidioc_unsubscribe_event(file-private_data, sub);
+   if (ret  0) {
+   dbgarg(cmd, failed, ret=%ld, ret);
+   break;
+   }
+   dbgarg(cmd, type=0x%8.8x, sub-type);
+   break;
+   }
default:
{
if (!ops-vidioc_default)
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
index 7a4529d..29dd64b 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -21,6 +21,8 @@
 #include linux/videodev2.h
 #endif
 
+struct v4l2_fh;
+
 struct v4l2_ioctl_ops {
/* ioctl callbacks */
 
@@ -239,6 +241,13 @@ struct v4l2_ioctl_ops {
int (*vidioc_enum_frameintervals) (struct file *file, void *fh,
   struct v4l2_frmivalenum *fival);
 
+   int (*vidioc_dqevent)  (struct v4l2_fh *fh,
+   struct v4l2_event *ev);
+   int (*vidioc_subscribe_event)  (struct v4l2_fh *fh,
+   struct v4l2_event_subscription *sub);
+   int (*vidioc_unsubscribe_event) (struct v4l2_fh *fh,
+struct v4l2_event_subscription *sub);
+
/* For other private ioctls */
long (*vidioc_default) (struct file *file, void *fh,
int cmd, void *arg);
-- 
1.5.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2 2/7] V4L: Events: Add new ioctls for events

2009-12-22 Thread Sakari Ailus
This patch adds a set of new ioctls to the V4L2 API. The ioctls conform to
V4L2 Events RFC version 2.3:

URL:http://www.spinics.net/lists/linux-media/msg12033.html

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/v4l2-compat-ioctl32.c |3 +++
 drivers/media/video/v4l2-ioctl.c  |3 +++
 include/linux/videodev2.h |   24 
 3 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/v4l2-compat-ioctl32.c 
b/drivers/media/video/v4l2-compat-ioctl32.c
index 997975d..cba704c 100644
--- a/drivers/media/video/v4l2-compat-ioctl32.c
+++ b/drivers/media/video/v4l2-compat-ioctl32.c
@@ -1077,6 +1077,9 @@ long v4l2_compat_ioctl32(struct file *file, unsigned int 
cmd, unsigned long arg)
case VIDIOC_DBG_G_REGISTER:
case VIDIOC_DBG_G_CHIP_IDENT:
case VIDIOC_S_HW_FREQ_SEEK:
+   case VIDIOC_DQEVENT:
+   case VIDIOC_SUBSCRIBE_EVENT:
+   case VIDIOC_UNSUBSCRIBE_EVENT:
ret = do_video_ioctl(file, cmd, arg);
break;
 
diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 30cc334..bfc4696 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -283,6 +283,9 @@ static const char *v4l2_ioctls[] = {
 
[_IOC_NR(VIDIOC_DBG_G_CHIP_IDENT)] = VIDIOC_DBG_G_CHIP_IDENT,
[_IOC_NR(VIDIOC_S_HW_FREQ_SEEK)]   = VIDIOC_S_HW_FREQ_SEEK,
+   [_IOC_NR(VIDIOC_DQEVENT)]  = VIDIOC_DQEVENT,
+   [_IOC_NR(VIDIOC_SUBSCRIBE_EVENT)]  = VIDIOC_SUBSCRIBE_EVENT,
+   [_IOC_NR(VIDIOC_UNSUBSCRIBE_EVENT)] = VIDIOC_UNSUBSCRIBE_EVENT,
 #endif
 };
 #define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls)
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 54af357..9ae9a1c 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1536,6 +1536,27 @@ struct v4l2_streamparm {
 };
 
 /*
+ * E V E N T S
+ */
+
+struct v4l2_event {
+   __u32   count;
+   __u32   type;
+   __u32   sequence;
+   struct timespec timestamp;
+   __u32   reserved[9];
+   __u8data[64];
+};
+
+struct v4l2_event_subscription {
+   __u32   type;
+   __u32   reserved[7];
+};
+
+#define V4L2_EVENT_ALL 0
+#define V4L2_EVENT_PRIVATE_START   0x0800
+
+/*
  * A D V A N C E D   D E B U G G I N G
  *
  * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS!
@@ -1651,6 +1672,9 @@ struct v4l2_dbg_chip_ident {
 #endif
 
 #define VIDIOC_S_HW_FREQ_SEEK   _IOW('V', 82, struct v4l2_hw_freq_seek)
+#define VIDIOC_DQEVENT  _IOR('V', 83, struct v4l2_event)
+#define VIDIOC_SUBSCRIBE_EVENT  _IOW('V', 84, struct v4l2_event_subscription)
+#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 85, struct v4l2_event_subscription)
 /* Reminder: when adding new ioctls please add support for them to
drivers/media/video/v4l2-compat-ioctl32.c as well! */
 
-- 
1.5.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2 5/7] V4L: Events: Limit event queue length

2009-12-22 Thread Sakari Ailus
Limit event queue length to V4L2_MAX_EVENTS. If the queue is full any
further events will be dropped.

This patch also updates the count field properly, setting it to exactly to
number of further available events.

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/v4l2-event.c |   10 +-
 include/media/v4l2-event.h   |5 +
 2 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index 9fc0c81..72fdf7f 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -56,6 +56,8 @@ void v4l2_event_init_fh(struct v4l2_fh *fh)
 
INIT_LIST_HEAD(events-available);
INIT_LIST_HEAD(events-subscribed);
+
+   atomic_set(events-navailable, 0);
 }
 EXPORT_SYMBOL_GPL(v4l2_event_init_fh);
 
@@ -103,7 +105,8 @@ int v4l2_event_dequeue(struct v4l2_fh *fh, struct 
v4l2_event *event)
ev = list_first_entry(events-available, struct _v4l2_event, list);
list_del(ev-list);
 
-   ev-event.count = !list_empty(events-available);
+   atomic_dec(events-navailable);
+   ev-event.count = atomic_read(events-navailable);
 
spin_unlock_irqrestore(events-lock, flags);
 
@@ -159,6 +162,9 @@ void v4l2_event_queue(struct video_device *vdev, struct 
v4l2_event *ev)
if (!v4l2_event_subscribed(fh, ev-type))
continue;
 
+   if (atomic_read(fh-events.navailable) = V4L2_MAX_EVENTS)
+   continue;
+
_ev = kmem_cache_alloc(event_kmem, GFP_ATOMIC);
if (!_ev)
continue;
@@ -169,6 +175,8 @@ void v4l2_event_queue(struct video_device *vdev, struct 
v4l2_event *ev)
list_add_tail(_ev-list, fh-events.available);
spin_unlock(fh-events.lock);
 
+   atomic_inc(fh-events.navailable);
+
wake_up_all(fh-events.wait);
}
 
diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h
index b11de92..69305c6 100644
--- a/include/media/v4l2-event.h
+++ b/include/media/v4l2-event.h
@@ -28,6 +28,10 @@
 #include linux/types.h
 #include linux/videodev2.h
 
+#include asm/atomic.h
+
+#define V4L2_MAX_EVENTS1024 /* Ought to be enough for 
everyone. */
+
 struct v4l2_fh;
 struct video_device;
 
@@ -39,6 +43,7 @@ struct _v4l2_event {
 struct v4l2_events {
spinlock_t  lock; /* Protect everything here. */
struct list_headavailable;
+   atomic_tnavailable;
wait_queue_head_t   wait;
struct list_headsubscribed; /* Subscribed events. */
 };
-- 
1.5.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2 4/7] V4L: Events: Add backend

2009-12-22 Thread Sakari Ailus
Add event handling backend to V4L2. The backend handles event subscription
and delivery to file handles. Event subscriptions are based on file handle.
Events may be delivered to all subscribed file handles on a device
independent of where they originate from.

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/Makefile |3 +-
 drivers/media/video/v4l2-dev.c   |   21 +++-
 drivers/media/video/v4l2-event.c |  254 ++
 drivers/media/video/v4l2-fh.c|4 +
 include/media/v4l2-event.h   |   65 ++
 include/media/v4l2-fh.h  |3 +
 6 files changed, 346 insertions(+), 4 deletions(-)
 create mode 100644 drivers/media/video/v4l2-event.c
 create mode 100644 include/media/v4l2-event.h

diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index 1947146..dd6a853 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -10,7 +10,8 @@ stkwebcam-objs:=  stk-webcam.o stk-sensor.o
 
 omap2cam-objs  :=  omap24xxcam.o omap24xxcam-dma.o
 
-videodev-objs  :=  v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o
+videodev-objs  :=  v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \
+   v4l2-event.o
 
 # V4L2 core modules
 
diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c
index 15b2ac8..6d25297 100644
--- a/drivers/media/video/v4l2-dev.c
+++ b/drivers/media/video/v4l2-dev.c
@@ -613,22 +613,36 @@ static int __init videodev_init(void)
dev_t dev = MKDEV(VIDEO_MAJOR, 0);
int ret;
 
+   ret = v4l2_event_init();
+   if (ret  0) {
+   printk(KERN_WARNING videodev: unable to initialise events\n);
+   return ret;
+   }
+
printk(KERN_INFO Linux video capture interface: v2.00\n);
ret = register_chrdev_region(dev, VIDEO_NUM_DEVICES, VIDEO_NAME);
if (ret  0) {
printk(KERN_WARNING videodev: unable to get major %d\n,
VIDEO_MAJOR);
-   return ret;
+   goto out_register_chrdev_region;
}
 
ret = class_register(video_class);
if (ret  0) {
-   unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
printk(KERN_WARNING video_dev: class_register failed\n);
-   return -EIO;
+   ret = -EIO;
+   goto out_class_register;
}
 
return 0;
+
+out_class_register:
+   unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
+
+out_register_chrdev_region:
+   v4l2_event_exit();
+
+   return ret;
 }
 
 static void __exit videodev_exit(void)
@@ -637,6 +651,7 @@ static void __exit videodev_exit(void)
 
class_unregister(video_class);
unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
+   v4l2_event_exit();
 }
 
 module_init(videodev_init)
diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
new file mode 100644
index 000..9fc0c81
--- /dev/null
+++ b/drivers/media/video/v4l2-event.c
@@ -0,0 +1,254 @@
+/*
+ * drivers/media/video/v4l2-event.c
+ *
+ * V4L2 events.
+ *
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#include media/v4l2-dev.h
+#include media/v4l2-event.h
+
+#include linux/sched.h
+
+static struct kmem_cache *event_kmem;
+
+int v4l2_event_init(void)
+{
+   event_kmem = kmem_cache_create(event_kmem,
+  sizeof(struct _v4l2_event), 0,
+  SLAB_HWCACHE_ALIGN,
+  NULL);
+
+   if (!event_kmem)
+   return -ENOMEM;
+
+   return 0;
+}
+
+void v4l2_event_exit(void)
+{
+   kmem_cache_destroy(event_kmem);
+}
+
+void v4l2_event_init_fh(struct v4l2_fh *fh)
+{
+   struct v4l2_events *events = fh-events;
+
+   init_waitqueue_head(events-wait);
+   spin_lock_init(events-lock);
+
+   INIT_LIST_HEAD(events-available);
+   INIT_LIST_HEAD(events-subscribed);
+}
+EXPORT_SYMBOL_GPL(v4l2_event_init_fh);
+
+void v4l2_event_exit_fh(struct v4l2_fh *fh)
+{
+   struct v4l2_events *events = fh-events;
+
+   while (!list_empty(events-available)) {
+   struct _v4l2_event *ev;
+
+  

[RFC v2 6/7] V4L: Events: Sequence numbers

2009-12-22 Thread Sakari Ailus
Add sequence numbers to events.

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/v4l2-event.c |8 
 include/media/v4l2-event.h   |1 +
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index 72fdf7f..cc2bf57 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -58,6 +58,7 @@ void v4l2_event_init_fh(struct v4l2_fh *fh)
INIT_LIST_HEAD(events-subscribed);
 
atomic_set(events-navailable, 0);
+   events-sequence = 0;
 }
 EXPORT_SYMBOL_GPL(v4l2_event_init_fh);
 
@@ -158,10 +159,16 @@ void v4l2_event_queue(struct video_device *vdev, struct 
v4l2_event *ev)
 
list_for_each_entry(fh, vdev-fh, list) {
struct _v4l2_event *_ev;
+   u32 sequence;
 
if (!v4l2_event_subscribed(fh, ev-type))
continue;
 
+   spin_lock(fh-events.lock);
+   sequence = fh-events.sequence;
+   fh-events.sequence++;
+   spin_unlock(fh-events.lock);
+
if (atomic_read(fh-events.navailable) = V4L2_MAX_EVENTS)
continue;
 
@@ -172,6 +179,7 @@ void v4l2_event_queue(struct video_device *vdev, struct 
v4l2_event *ev)
_ev-event = *ev;
 
spin_lock(fh-events.lock);
+   _ev-event.sequence = sequence;
list_add_tail(_ev-list, fh-events.available);
spin_unlock(fh-events.lock);
 
diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h
index 69305c6..5a778d4 100644
--- a/include/media/v4l2-event.h
+++ b/include/media/v4l2-event.h
@@ -44,6 +44,7 @@ struct v4l2_events {
spinlock_t  lock; /* Protect everything here. */
struct list_headavailable;
atomic_tnavailable;
+   u32 sequence;
wait_queue_head_t   wait;
struct list_headsubscribed; /* Subscribed events. */
 };
-- 
1.5.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2 1/7] V4L: File handles

2009-12-22 Thread Sakari Ailus
This patch adds a list of v4l2_fh structures to every video_device.
It allows using file handle related information in V4L2. The event interface
is one example of such use.

Video device drivers should use the v4l2_fh pointer as their
file-private_data.

Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
---
 drivers/media/video/Makefile   |2 +-
 drivers/media/video/v4l2-dev.c |2 +
 drivers/media/video/v4l2-fh.c  |   57 
 include/media/v4l2-dev.h   |4 +++
 include/media/v4l2-fh.h|   41 
 5 files changed, 105 insertions(+), 1 deletions(-)
 create mode 100644 drivers/media/video/v4l2-fh.c
 create mode 100644 include/media/v4l2-fh.h

diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index a61e3f3..1947146 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -10,7 +10,7 @@ stkwebcam-objs:=  stk-webcam.o stk-sensor.o
 
 omap2cam-objs  :=  omap24xxcam.o omap24xxcam-dma.o
 
-videodev-objs  :=  v4l2-dev.o v4l2-ioctl.o v4l2-device.o
+videodev-objs  :=  v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o
 
 # V4L2 core modules
 
diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c
index 7090699..15b2ac8 100644
--- a/drivers/media/video/v4l2-dev.c
+++ b/drivers/media/video/v4l2-dev.c
@@ -421,6 +421,8 @@ static int __video_register_device(struct video_device 
*vdev, int type, int nr,
if (!vdev-release)
return -EINVAL;
 
+   v4l2_fh_init(vdev);
+
/* Part 1: check device type */
switch (type) {
case VFL_TYPE_GRABBER:
diff --git a/drivers/media/video/v4l2-fh.c b/drivers/media/video/v4l2-fh.c
new file mode 100644
index 000..406e4ac
--- /dev/null
+++ b/drivers/media/video/v4l2-fh.c
@@ -0,0 +1,57 @@
+/*
+ * drivers/media/video/v4l2-fh.c
+ *
+ * V4L2 file handles.
+ *
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#include media/v4l2-dev.h
+#include media/v4l2-fh.h
+
+#include linux/sched.h
+#include linux/vmalloc.h
+
+int v4l2_fh_add(struct video_device *vdev, struct v4l2_fh *fh)
+{
+   unsigned long flags;
+
+   spin_lock_irqsave(vdev-fh_lock, flags);
+   list_add(fh-list, vdev-fh);
+   spin_unlock_irqrestore(vdev-fh_lock, flags);
+
+   return 0;
+}
+EXPORT_SYMBOL_GPL(v4l2_fh_add);
+
+void v4l2_fh_del(struct video_device *vdev, struct v4l2_fh *fh)
+{
+   unsigned long flags;
+
+   spin_lock_irqsave(vdev-fh_lock, flags);
+   list_del(fh-list);
+   spin_unlock_irqrestore(vdev-fh_lock, flags);
+}
+EXPORT_SYMBOL_GPL(v4l2_fh_del);
+
+void v4l2_fh_init(struct video_device *vdev)
+{
+   spin_lock_init(vdev-fh_lock);
+   INIT_LIST_HEAD(vdev-fh);
+}
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index 2dee938..8eac93d 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -16,6 +16,8 @@
 #include linux/mutex.h
 #include linux/videodev2.h
 
+#include media/v4l2-fh.h
+
 #define VIDEO_MAJOR81
 
 #define VFL_TYPE_GRABBER   0
@@ -77,6 +79,8 @@ struct video_device
/* attribute to differentiate multiple indices on one physical device */
int index;
 
+   spinlock_t fh_lock; /* Lock for file handle list */
+   struct list_head fh;/* File handle list */
int debug;  /* Activates debug level*/
 
/* Video standard vars */
diff --git a/include/media/v4l2-fh.h b/include/media/v4l2-fh.h
new file mode 100644
index 000..1efa916
--- /dev/null
+++ b/include/media/v4l2-fh.h
@@ -0,0 +1,41 @@
+/*
+ * include/media/v4l2-fh.h
+ *
+ * V4L2 file handle.
+ *
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.

Re: tt s2-3200: dvb-s2 problem transponders fixed :) concerns SR 30000 3/4 8psk mode

2009-12-22 Thread Emmanuel

Newsy Paper a écrit :

thanks to Andreas Regel + Manu Abraham for their work.

I just tested those problem transponders. If I set SR to 29998 instead of 3 
they finally work with recent s2-liplian changeset.

Thank you for your great work and thanks to all the others involved in v4l 
driver development.
  
Then I guess this is related to a computation being abit off (3 is 
probably a threshold also).
I any case I still have to add 4MHz to the frequencies (with DVB-S) to 
get a reliable lock with tt s2-3200 (kernel is ubuntu 2.6.31.4)

Bye
Manu
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: flicker/jumpy at the bottom of the video

2009-12-22 Thread Jean-Francois Moine
On Mon, 23 Nov 2009 15:00:09 +0530 (IST)
Purushottam R S purushottam_...@yahoo.com wrote:

 I am using latest gspca driver from dvb for camera driver. But I see
 bottom of the video has flickering/jumping effect.
 
 I have Zippys web camera, which is from Z-Star.  I have loaded the
 following drivers.
 1. gspca_zc3xx 44832 0 - Live 0xbf01f000
 2. gspca_main 23840 1 gspca_zc3xx, Live 0xbf014000
 3. videodev 36672 1 gspca_main, Live 0xbf006000
 4. v4l1_compat 14788 1 videodev, Live 0xbf00
 
 But otherwise there is no issue with video.

Hello Purush,

Sorry for the delay. We know that some webcams with Z-Star chips have
such a problem, but it is a hardware problem and we did not find yet a
way to fix it correctly...

Best regards.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

2009-12-22 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Tue Dec 22 19:00:02 CET 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   13836:9defbd461e5f
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.30-armv5: OK
linux-2.6.31-armv5: OK
linux-2.6.32-armv5: OK
linux-2.6.32-armv5-davinci: OK
linux-2.6.30-armv5-ixp: OK
linux-2.6.31-armv5-ixp: OK
linux-2.6.32-armv5-ixp: OK
linux-2.6.30-armv5-omap2: OK
linux-2.6.31-armv5-omap2: OK
linux-2.6.32-armv5-omap2: OK
linux-2.6.22.19-i686: ERRORS
linux-2.6.23.12-i686: ERRORS
linux-2.6.24.7-i686: ERRORS
linux-2.6.25.11-i686: ERRORS
linux-2.6.26-i686: WARNINGS
linux-2.6.27-i686: ERRORS
linux-2.6.28-i686: ERRORS
linux-2.6.29.1-i686: ERRORS
linux-2.6.30-i686: ERRORS
linux-2.6.31-i686: ERRORS
linux-2.6.32-i686: ERRORS
linux-2.6.30-m32r: OK
linux-2.6.31-m32r: OK
linux-2.6.32-m32r: OK
linux-2.6.30-mips: WARNINGS
linux-2.6.31-mips: OK
linux-2.6.32-mips: OK
linux-2.6.30-powerpc64: WARNINGS
linux-2.6.31-powerpc64: OK
linux-2.6.32-powerpc64: WARNINGS
linux-2.6.22.19-x86_64: ERRORS
linux-2.6.23.12-x86_64: ERRORS
linux-2.6.24.7-x86_64: ERRORS
linux-2.6.25.11-x86_64: ERRORS
linux-2.6.26-x86_64: WARNINGS
linux-2.6.27-x86_64: OK
linux-2.6.28-x86_64: OK
linux-2.6.29.1-x86_64: WARNINGS
linux-2.6.30-x86_64: OK
linux-2.6.31-x86_64: WARNINGS
linux-2.6.32-x86_64: WARNINGS
spec: OK
sparse (linux-2.6.32): ERRORS
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: ERRORS
linux-2.6.20.21-i686: ERRORS
linux-2.6.21.7-i686: ERRORS
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: ERRORS
linux-2.6.19.5-x86_64: ERRORS
linux-2.6.20.21-x86_64: ERRORS
linux-2.6.21.7-x86_64: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Tuesday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Tuesday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] drivers/media/dvb: Move a dereference below a NULL test

2009-12-22 Thread Julia Lawall
From: Julia Lawall ju...@diku.dk

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// smpl
@@
type T;
expression E;
identifier i,fld;
statement S;
@@

- T i = E-fld;
+ T i;
  ... when != E
  when != i
  if (E == NULL) S
+ i = E-fld;
// /smpl

Signed-off-by: Julia Lawall ju...@diku.dk

---
 drivers/media/dvb/dvb-usb/dw2102.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -u -p a/drivers/media/dvb/dvb-usb/dw2102.c 
b/drivers/media/dvb/dvb-usb/dw2102.c
--- a/drivers/media/dvb/dvb-usb/dw2102.c
+++ b/drivers/media/dvb/dvb-usb/dw2102.c
@@ -470,12 +470,13 @@ static int s6x0_i2c_transfer(struct i2c_
int num)
 {
struct dvb_usb_device *d = i2c_get_adapdata(adap);
-   struct usb_device *udev = d-udev;
+   struct usb_device *udev;
int ret = 0;
int len, i, j;
 
if (!d)
return -ENODEV;
+   udev = d-udev;
if (mutex_lock_interruptible(d-i2c_mutex)  0)
return -EAGAIN;
 
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC v2 4/7] V4L: Events: Add backend

2009-12-22 Thread Andy Walls
On Tue, 2009-12-22 at 18:43 +0200, Sakari Ailus wrote:
 Add event handling backend to V4L2. The backend handles event subscription
 and delivery to file handles. Event subscriptions are based on file handle.
 Events may be delivered to all subscribed file handles on a device
 independent of where they originate from.
 
 Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
 ---
  drivers/media/video/Makefile |3 +-
  drivers/media/video/v4l2-dev.c   |   21 +++-
  drivers/media/video/v4l2-event.c |  254 
 ++
  drivers/media/video/v4l2-fh.c|4 +
  include/media/v4l2-event.h   |   65 ++
  include/media/v4l2-fh.h  |3 +
  6 files changed, 346 insertions(+), 4 deletions(-)
  create mode 100644 drivers/media/video/v4l2-event.c
  create mode 100644 include/media/v4l2-event.h
 
 diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
 index 1947146..dd6a853 100644
 --- a/drivers/media/video/Makefile
 +++ b/drivers/media/video/Makefile
 @@ -10,7 +10,8 @@ stkwebcam-objs  :=  stk-webcam.o stk-sensor.o
  
  omap2cam-objs:=  omap24xxcam.o omap24xxcam-dma.o
  
 -videodev-objs:=  v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o
 +videodev-objs:=  v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o 
 \
 + v4l2-event.o
  
  # V4L2 core modules
  
 diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c
 index 15b2ac8..6d25297 100644
 --- a/drivers/media/video/v4l2-dev.c
 +++ b/drivers/media/video/v4l2-dev.c
 @@ -613,22 +613,36 @@ static int __init videodev_init(void)
   dev_t dev = MKDEV(VIDEO_MAJOR, 0);
   int ret;
  
 + ret = v4l2_event_init();
 + if (ret  0) {
 + printk(KERN_WARNING videodev: unable to initialise events\n);
 + return ret;
 + }
 +
   printk(KERN_INFO Linux video capture interface: v2.00\n);
   ret = register_chrdev_region(dev, VIDEO_NUM_DEVICES, VIDEO_NAME);
   if (ret  0) {
   printk(KERN_WARNING videodev: unable to get major %d\n,
   VIDEO_MAJOR);
 - return ret;
 + goto out_register_chrdev_region;
   }
  
   ret = class_register(video_class);
   if (ret  0) {
 - unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
   printk(KERN_WARNING video_dev: class_register failed\n);
 - return -EIO;
 + ret = -EIO;
 + goto out_class_register;
   }
  
   return 0;
 +
 +out_class_register:
 + unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
 +
 +out_register_chrdev_region:
 + v4l2_event_exit();
 +
 + return ret;
  }
  
  static void __exit videodev_exit(void)
 @@ -637,6 +651,7 @@ static void __exit videodev_exit(void)
  
   class_unregister(video_class);
   unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
 + v4l2_event_exit();
  }
  
  module_init(videodev_init)
 diff --git a/drivers/media/video/v4l2-event.c 
 b/drivers/media/video/v4l2-event.c
 new file mode 100644
 index 000..9fc0c81
 --- /dev/null
 +++ b/drivers/media/video/v4l2-event.c
 @@ -0,0 +1,254 @@
 +/*
 + * drivers/media/video/v4l2-event.c
 + *
 + * V4L2 events.
 + *
 + * Copyright (C) 2009 Nokia Corporation.
 + *
 + * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License
 + * version 2 as published by the Free Software Foundation.
 + *
 + * This program is distributed in the hope that it will be useful, but
 + * WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 + * General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 + * 02110-1301 USA
 + */
 +
 +#include media/v4l2-dev.h
 +#include media/v4l2-event.h
 +
 +#include linux/sched.h
 +
 +static struct kmem_cache *event_kmem;
 +
 +int v4l2_event_init(void)
 +{
 + event_kmem = kmem_cache_create(event_kmem,
 +sizeof(struct _v4l2_event), 0,
 +SLAB_HWCACHE_ALIGN,
 +NULL);
 +
 + if (!event_kmem)
 + return -ENOMEM;
 +
 + return 0;
 +}
 +
 +void v4l2_event_exit(void)
 +{
 + kmem_cache_destroy(event_kmem);
 +}
 +
 +void v4l2_event_init_fh(struct v4l2_fh *fh)
 +{
 + struct v4l2_events *events = fh-events;
 +
 + init_waitqueue_head(events-wait);
 + spin_lock_init(events-lock);
 +
 + INIT_LIST_HEAD(events-available);
 + INIT_LIST_HEAD(events-subscribed);
 +}
 +EXPORT_SYMBOL_GPL(v4l2_event_init_fh);
 +
 +void v4l2_event_exit_fh(struct v4l2_fh *fh)
 +{
 

[PULL] http://linuxtv.org/hg/~dougsland/miro

2009-12-22 Thread Douglas Schilling Landgraf
Hello Mauro,

 Please pull from http://linuxtv.org/hg/~dougsland/miro for
the following:

 - Add header to make radio-miro compatible with kernel  2.6.33

Cheers
Douglas
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to make a Zaapa LR301AP DVB-T card work

2009-12-22 Thread hermann pitton

Am Dienstag, den 22.12.2009, 16:41 + schrieb Antonio Marcos López
Alonso:
  
  Antonio,
  
  the report for tda10046 firmware loading is missing. Was that OK?
 
 Yes:
 
 tda1004x: setting up plls for 48MHz sampling clock
 tda1004x: found firmware revision 29 -- ok
 
  
  LR301 is a LifeView design. It is very common to see multiple other
  subvendors for their cards, but they keep the original subdevice ID.
  In this case 0x0301. The subvendor 0x4e42 is usually Typhoon/Anubis and
  they are distributing clones of almost all LifeView cards.
  
  Gpio init is the same like on the other known LR301 cards and eeprom
  differs only for a few bytes, but not for tuner type, tuner and demod
  address.
  
  http://ubuntuforums.org/archive/index.php/t-328140.html
  
  Since this design with a saa7134 chip and tda8274 DVB-T only tuner is very
   old, I don't expect an additional Low Noise Amplifier on it.
  
  We can't detect such LNAs and on newer cards they can cause problems, if
  not configured correctly and might cause scan to fail.
  
  If you mean above other card types did previously work for your card,
  use them and report.
 
 No, I meant other physical cards. Just to ensure it is not likely to be an 
 aerial problem.

Good to know. However, the first revisions of silicon tuners like the
tda8274 can't compete with can tuners. Only the tda8275a hybrid can come
_close_ to a good can tuner like the FMD1216ME/I H-3 (MK3) on a well
designed PCB. Signal quality might be still not sufficient for your
card.

You also had parity errors on your first report, which likely indicate
problems on your mobo at least with this PCI slot and/or sharing
interrupts with other devices there.

  Sorry, I don't have better ideas for your card so far.
 
 I have not included the tuner parameter in the options line which I think 
 it could be the problem. Is this parameter mandatory? If so, which is the 
 proper one?
 

No. You can force tuner types only for analog TV. The tda8274 is not a
hybrid tuner, it is only used for DVB-T. An early tda8275 hybrid with a
saa7134 chip would have a separate tda8290 chip for analog IF
demodulation. Without that no analog TV and no tuner type to set.

For DVB-T the tda8274 is treated like a tda8275.

Cheers,
Hermann


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Nova-T 500 Dual DVB-T

2009-12-22 Thread Yves

Douglas Schilling Landgraf a écrit :

Hello Yves,

On 12/20/2009 03:21 AM, Yves wrote:

Hi,

I have a Nova-T 500 Dual DVB-T card that used to work very well under 
Mandriva 2008.1 (kernel 2.6.24.7).


I moved to Mandriva 2009.1, then 2010.0 (kernel 2.6.31.6) and it 
doesn't work well any more. Scan can't find channels. I tried hading 
options dvb-usb-dib0700 force_lna_activation=1 in 
/etc/modprobe.conf. It improve just a bit. Scan find only a few 
channels. If I revert to Mandriva 2008.1 (in another partition), all 
things are good (without adding anything in modprobe.conf).


Is there a new version of the driver (dvb_usb_dib0700) that correct 
this behavior.
If not, how to install the driver from kernel 2.6.24.7 in kernel 
2.6.31.6 ?




Please try the current driver available at v4l/dvb develpment tree and 
share your results here.


hg clone http://linuxtv.org/hg/v4l-dvb
make
make rmmod
make install

Finally, just restart your machine and test your favourite application.

For additional info:

http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers 



Cheers,
Douglas
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



Hello Douglas,

Unfortunately, the compilation did not succeed:

$ 
make 

make -C 
/home/mythtv/v4l-dvb/v4l  

make[1]: entrant dans le répertoire « /home/mythtv/v4l-dvb/v4l 
» 
perl scripts/make_config_compat.pl 
/lib/modules/2.6.31.6-desktop-1mnb/source ./.myconfig 
./config-compat.h   
creating symbolic 
links...

make -C firmware 
prep 

make[2]: Entering directory 
`/home/mythtv/v4l-dvb/v4l/firmware'   

make[2]: Leaving directory 
`/home/mythtv/v4l-dvb/v4l/firmware'

make -C 
firmware  

make[2]: Entering directory 
`/home/mythtv/v4l-dvb/v4l/firmware'   

 CC  
ihex2fw 

Generating 
vicam/firmware.fw  

Generating 
dabusb/firmware.fw 

Generating 
dabusb/bitstream.bin   

Generating 
ttusb-budget/dspbootcode.bin   

Generating 
cpia2/stv0672_vp4.bin  

Generating 
av7110/bootcode.bin

make[2]: Leaving directory 
`/home/mythtv/v4l-dvb/v4l/firmware'

Kernel build directory is 
/lib/modules/2.6.31.6-desktop-1mnb/build

make -C /lib/modules/2.6.31.6-desktop-1mnb/build 
SUBDIRS=/home/mythtv/v4l-dvb/v4l  
modules   
make[2]: Entering directory 
`/usr/src/linux-2.6.31.6-desktop-1mnb'

 CC [M]  
/home/mythtv/v4l-dvb/v4l/tuner-xc2028.o 

 CC [M]  
/home/mythtv/v4l-dvb/v4l/tuner-simple.o 

 CC [M]  
/home/mythtv/v4l-dvb/v4l/tuner-types.o  

 CC [M]  
/home/mythtv/v4l-dvb/v4l/mt20xx.o   





 CC [M]  /home/mythtv/v4l-dvb/v4l/cx88-cards.o
 CC [M]  /home/mythtv/v4l-dvb/v4l/cx88-core.o
 CC [M]  /home/mythtv/v4l-dvb/v4l/cx88-i2c.o
 CC [M]  /home/mythtv/v4l-dvb/v4l/cx88-tvaudio.o
 CC [M]