aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tm6000 (follow)
AgeCommit message (Collapse)AuthorFilesLines
2010-05-19V4L/DVB (13554a): v4l: Use the video_drvdata function in driversMauro Carvalho Chehab3-28/+2
Fix all device drivers to use the video_drvdata function instead of maintaining a local list of minor to private data mappings. Call video_set_drvdata to register the driver private pointer when not already done. Where applicable, the local list of mappings is completely removed when it becomes unused. [mchehab.redhat.com: patch broke into two. This one changes just tm6000] Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: bugfix image positionStefan Ringel1-2/+2
bugfix incorrect image and line position in videobuffer Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: README - add vbiStefan Ringel1-0/+1
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: Rework for support xc5000Dmitri Belimov2-37/+110
Set correct GPIO number for BEHOLD_WANDER/VOYAGER Add xc5000 callback function Small rework tm6000_cards_setup function Small rework tm6000_config_tuner, build mode_mask by config information Rework for support xc5000 silicon tuner Add some information messages for more better understand an errors. [mchehab@redhat.com: Fix CodingStyle and merge conflicts] Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19Fix compilation breakage with tm6000Mauro Carvalho Chehab1-2/+2
Randy Dunlap <randy.dunlap@oracle.com> reported a breakage while compiling drivers/staging/tm6000, due to this change: commit 1c1b78bee1a94f98deeb9c24b21c4812e191646c Author: Greg Kroah-Hartman <gregkh@suse.de> Date: Thu Apr 29 15:46:07 2010 -0700 USB: remove unused usb_buffer_alloc and usb_buffer_free macros Now that all callers are converted over, remove the compatibility functions and all is good. As the function got renamed, the rename should also be applied at tm6000. Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: update the todo listMauro Carvalho Chehab1-7/+17
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: Fix color format with tm6010Mauro Carvalho Chehab2-4/+7
The values for the fourcc format were correct, but applied to the wrong register. With this change, video is now barely working again with tm6000. While here, let's remove, for now, the memset. This way, people can have some image when testing this device. Yet to be fixed: parts of the image frame are missed. As we don't clean the buffers anymore, this is "recovered" by repeating the values from a previous frame. The quality is bad, since the image pixels will contain data from some previous frames, generating weird delay artifacts. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: fix coding style issues of tm6000-cards.cRoel Van Nyen1-62/+58
fix coding style issues [mchehab@redhat.com: Fix conflicts with other patches] Signed-off-by: Roel Van Nyen <roel.vannyen@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: renaming firmwareStefan Ringel1-1/+1
renaming tm6000-xc3028.fw to xc3028-v24.fw Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: bugfix analog init for tm6010Stefan Ringel1-3/+94
- change values in function tm6000_set_fourcc_format - disable digital source - add vbi and audio init Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: Don't copy outside the bufferMauro Carvalho Chehab1-5/+5
tm6000 tm6000_irq_callback :urb resubmit failed (error=-1) BUG: unable to handle kernel paging request at 000000000100f700 IP: [<ffffffffa007ee79>] tm6000_irq_callback+0x51e/0xac7 [tm6000] (gdb) list * tm6000_irq_callback+0x51e 0x2e79 is in tm6000_irq_callback (drivers/staging/tm6000/tm6000-video.c:363). 358 dev->isoc_ctl.tmp_buf_len--; 359 } 360 if (dev->isoc_ctl.tmp_buf_len) { 361 memcpy (&header,p, 362 dev->isoc_ctl.tmp_buf_l$ 363 memcpy (((u8 *)header)+ 364 dev->isoc_ctl.tmp_buf, 365 ptr, 366 4-dev->isoc_ctl.tmp_buf$ 367 ptr+=4-dev->isoc_ctl.tmp_buf_le$ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: Fix a panic if buffer become NULLMauro Carvalho Chehab1-1/+3
Changing a video standard takes a long time to happen on tm6000, since it needs to load another firmware, and the i2c implementation on this device is really slow. When the driver tries to change the video standard, a kernel panic is produced: BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 IP: [<ffffffffa0c7b48a>] tm6000_irq_callback+0x57f/0xac2 [tm6000] ... Kernel panic - not syncing: Fatal exception in interrupt By inspecting it with gdb: (gdb) list *tm6000_irq_callback+0x57f 0x348a is in tm6000_irq_callback (drivers/staging/tm6000/tm6000-video.c:202). 197 /* FIXME: move to tm6000-isoc */ 198 static int last_line = -2, start_line = -2, last_field = -2; 199 200 /* FIXME: this is the hardcoded window size 201 */ 202 unsigned int linewidth = (*buf)->vb.width << 1; 203 204 if (!dev->isoc_ctl.cmd) { 205 c = (header >> 24) & 0xff; 206 Clearly, it was the trial to access *buf, at line 202 that caused the Panic. As ioctl is serialized, While S_STD is handled,QBUF/DQBUF won't be called. So, the driver will run out of the buffers, and *buf will become NULL. As, on tm6000, the same URB can contain more than one video buffer, it is likely to hit a condition where no new buffer is available whily copying the streams. The fix is to leave the URB copy loop, if there's no more buffers are available. The same bug could also be produced by an application that is not fast enough to request new video buffers. The same bug were reported by Bee Hock Goh <beehock@gmail.com>. Thanks-to: Bee Hock Goh <beehock@gmail.com> for reporting the bug Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: Properly set alternate when preparing to streamMauro Carvalho Chehab4-34/+51
Although the code is getting the better alternates, it is not really using it. Get the interface/alternate numbers and use it where needed. This patch implements also one small fix at the last_line set, as proposed by Bee Hock Goh <behock@gmail.com>. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: Add additional GPIO for UT821 during frmware loadingBee Hock Goh1-0/+16
Signed-off-by: Bee Hock Goh <beehock@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: fix i2c readDmitri Belimov1-4/+77
Set correct limit for I2C packet. Use different method for the tm5600/tm6000 and tm6010 to read word. [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: fix compilation due to the lack of a semicolonMauro Carvalho Chehab1-1/+1
Add a missing semicolon to fix this error: In file included from drivers/staging/tm6000/tm6000-cards.c:32: drivers/staging/tm6000/tm6000.h:123: error: two or more data types in declaration specifiers Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: TM6000: Fix code which cause memory corruptionBee Hock Goh1-1/+1
The driver was doing malloc when buf is null causing memory corruption. The analog part is still pretty much broken but at least fixing this will stop it from crashing the machine when streamon. Signed-off-by: Bee Hock Goh <beehock@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: request labeling board version checkStefan Ringel3-4/+19
request labeling board version check Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: tm6000_i2c_xfer: request labelingStefan Ringel1-4/+4
labeling the request after tuner reading and writeing Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: add gpios for tm6010 generic boardStefan Ringel1-1/+12
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: add gpios to board structStefan Ringel1-9/+28
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: tm6000: switch to gpio strcutStefan Ringel2-22/+59
switch to a gpio structure Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: replace occurences of req05 magic by a naming aliasMauro Carvalho Chehab1-2/+2
Yet another naming replace magic thanks to perl scripts. This time, it is done with: cat tm6000-regs.h |perl -ne 'if (m/(TM6010_REQ[^\s]+)\s+0x([a-f0-9]+)\, 0x([a-f0-9]+)/) { $name="$1"; $req=$2; $val=$3; printf "s/REQ_${req}_SET_GET_USBREG, 0x[0]*$3,/$1,/\n" }' >a; for i in tm*.c; do sed -f a $i >b && mv b $i; done Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add request to registers of the group 05Mauro Carvalho Chehab1-196/+196
Yet another script magic. This time, the change were generated by this script: cat tm6000-regs.h |perl -ne 'if (m/^(\#define TM6010_REQ)(05)([^\s]+)(\s+)0x([A-F0-9].)/) { \ $name="$1$2$3"; $sp=$4; $req=$2; $val=$5; $val=~tr/A-F/a-f/; \ printf "$name%s0x%s, 0x%s\n", $sp, $req, $val; } else { print $_ }' \ >a; mv a tm6000-regs.h Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Replace naming convention for registers of req 05 groupMauro Carvalho Chehab1-196/+196
After looking at the "magic" registers, it is clear that usb registers belong to request 5. Replace them with this script: cat /tmp/reg3 |perl -ne 'if (m/define (TM6000_U_)([^\s]+)\s+0x([A-F0-9].)/) { \ $name=$2; $val=$3; printf "s,$1$2,TM6010_REQ05_R%s_%s,g\n", $val, $name; }' >a; sed -f a tm6000-regs.h >b; mv b tm6000-regs.h Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Replace all magic values by a register aliasMauro Carvalho Chehab4-796/+796
Instead of using magic pairs of req/reg, replace them by the defined values. This patch were generated by the following script: cat tm6000-regs.h |perl -ne 'if (m/(TM6010_REQ[^\s]+)\s+0x([a-f0-9]+)\, 0x([a-f0-9]+)/) { $name="$1"; $req=$2; $val=$3; printf "s/REQ_${req}_SET_GET_AVREG[_BIT]*, 0x[0]*$3,/$1,/\n" }' >a; for i in tm*.c; do sed -f a $i >b && mv b $i; done Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Add request at Req07/Req08 register definitionsMauro Carvalho Chehab1-235/+235
Use a pair Req/Reg for all registers at req07 and req08 groups. This makes easier to replace them at the code with a script and helps to avoid using the wrong req with some register. This change were generated by this script: if (m/^(\#define TM6010_REQ)([0-9].)([^\s]+)(\s+)0x([A-F0-9].)/) { $name="$1$2$3"; $sp=$4; $req=$2; $val=$5; $val=~tr/A-F/a-f/; printf "$name%s0x%s, 0x%s\n", $sp, $req, $val; } else { print $_ } Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Replace all Req 8 group of regs with another naming conventionMauro Carvalho Chehab1-57/+57
According with the original patch that added the register names, those are related to tm6010, so name it properly as such. Also, clearly indicates when a register belongs to Request 0x08 and add its register value at the name. This makes easier to double check if the proper register is used along the driver. This patch were made with the help of this simple perl script, applied over the definitions of the last register groups: if (m/define (TM6000_)([^\s]+)\s+0x([A-F0-9].)/) { $name=$2; $val=$3; printf "s,$1$2,TM6010_REQ08_R%s_%s,g\n", $val, $name; } And were manually adjusted to fix a few minor issues. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Replace all Req 7 group of regs with another naming conventionMauro Carvalho Chehab1-178/+178
According with the original patch that added the register names, those are related to tm6010, so name it properly as such. Also, clearly indicates when a register belongs to Request 0x07 and add its register value at the name. This makes easier to double check if the proper register is used along the driver. This patch were made with the help of this simple perl script: if (m/define (TM6000_)([^\s]+)\s+0x([A-F0-9].)/) { $name=$2; $val=$3; printf "s,$1$2,TM6010_REQ07_R%s_%s,g\n", $val, $name; } And were manually adjusted to fix a few minor issues. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add new hybrid-stickStefan Ringel1-6/+33
-add Hauppauge WinTV HVR 900H/WinTV USB2-Stick vid/pid 0x2040/6601 0x2040/6610 0x2040/6611 -add Terratec Cinergy Hybrid-Stick vid/pid 0x0ccd/0x00a5 -add Twinhan TU501(704D1) vid/pid 0x13d3/0x3240 0x13d3/0x3241 0x13d3/0x3243 0x13d3/0x3264 Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000 register definesDmitri Belimov1-0/+455
Add defines for all registers of the tm6000 module. This defines made by doc for TM6010, need look docs for TM6000 and TM5600 Some registers can be different. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: bugfix reading problems with demodulator zl10353Stefan Ringel1-1/+15
Reading from zl10353 with tm6000 has a bug. For example: regs w/o patch with patch 0x06 0x00 0x7f 0x07 0x33 0x30 0x08 0x00 0x00 0x09 0x58 0x50 0x0f 0x31 0x28 0x10 0x00 0x84 This patch provides the workaround for the bug [mchehab@redhat.com: Fix merge conflict and add a comment at the workaround] Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add send and recv functionStefan Ringel1-14/+42
Split the i2c send and receive functions on separate functions [mchehab@redhat.com: CodingStyle and fix the logic for more than 2 read values] Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: fix some info messagesDmitri Belimov10-18/+19
Fix some messages for add information about TM6010 Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: fix i2c addr testStefan Ringel1-2/+2
The i2c addr on I2C core is specified on 7-bit format, but tm6000 expects it on 8-bit format. Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: remove hack.c hack.h, switch to zl10353 moduleStefan Ringel4-457/+2
"hack" module were a temporary file with some zl10353 magic. This is not needed anymore. Just remove it. [mchehab@redhat.com: CodingStyle fixes] Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: change version to 0.0.2Stefan Ringel1-1/+1
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: special request for all tunerStefan Ringel1-2/+2
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: reset the numbers of feeds to 8Stefan Ringel1-2/+2
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add card setup for terratec cinergy hybridStefan Ringel1-0/+25
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add different tuner reset for terratecStefan Ringel1-6/+22
[mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add additional init register for tm6010Stefan Ringel1-0/+7
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: fix mutex lock unbalanceMauro Carvalho Chehab1-0/+1
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: only register after initializedMauro Carvalho Chehab1-5/+6
Udev calls an utility when it senses a v4l device. So, register needs to be delayed, otherwise it may cause block conditions. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: drivers/staging/tm6000/tm6000-video.c: correct NULL testJulia Lawall1-1/+1
Test the just-allocated value for NULL rather than some other value. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,y; statement S; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ( if ((x) == NULL) S | if ( - y + x == NULL) S ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: fix build errorsRandy Dunlap2-1/+3
(1) tm6000 uses usb_*() interfaces, so it should depend on USB. drivers/built-in.o: In function `tm6000_usb_disconnect': tm6000-cards.c:(.text+0x4abb44): undefined reference to `usb_put_dev' drivers/built-in.o: In function `tm6000_usb_probe': tm6000-cards.c:(.text+0x4ac923): undefined reference to `usb_get_dev' tm6000-cards.c:(.text+0x4ac93c): undefined reference to `usb_set_interface' drivers/built-in.o: In function `tm6000_read_write_usb': (.text+0x4ad274): undefined reference to `usb_control_msg' drivers/built-in.o: In function `tm6000_uninit_isoc': tm6000-video.c:(.text+0x4b00d5): undefined reference to `usb_kill_urb' tm6000-video.c:(.text+0x4b00e4): undefined reference to `usb_unlink_urb' tm6000-video.c:(.text+0x4b013c): undefined reference to `usb_buffer_free' tm6000-video.c:(.text+0x4b014b): undefined reference to `usb_free_urb' drivers/built-in.o: In function `tm6000_prepare_isoc': tm6000-video.c:(.text+0x4b0773): undefined reference to `usb_alloc_urb' tm6000-video.c:(.text+0x4b0835): undefined reference to `usb_buffer_alloc' drivers/built-in.o: In function `tm6000_irq_callback': tm6000-video.c:(.text+0x4b1ad3): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `tm6000_module_init': tm6000-cards.c:(.init.text+0x24499): undefined reference to `usb_register_driver' drivers/built-in.o: In function `tm6000_module_exit': tm6000-cards.c:(.exit.text+0x5cb0): undefined reference to `usb_deregister' (2) tm6000-alsa uses interfaces from tm6000-core, so when they are both built as modules, the core interfaces need to be exported. ERROR: "tm6000_set_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined! ERROR: "tm6000_get_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined! Cc: linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, linux-media@vger.kernel.org Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Michel Ludwig <michel.ludwig@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: move board-specific init to tm6000-cardsMauro Carvalho Chehab3-47/+77
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Allow tm6000 driver compilationMauro Carvalho Chehab3-8/+3
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: add a different set param valuesStefan Ringel1-2/+156
Fix several parameter sets, in order to make dvb work Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18V4L/DVB: tm6000: Fix several bugs at the usb DVB transferStefan Ringel1-45/+78
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>