summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
AgeCommit message (Collapse)Author
2007-01-20Moved several stuff that were at cx88-video to cx88-blackbird.cMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> cx88-blackbird were using some ioctl handling that were previously on cx88-video.
2007-01-20Fix vidioc_g_tuner handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-video.c | 2 ++ 1 file changed, 2 insertions(+)
2007-01-20Removed v4l2_tvnorm and made videodev to auto-generate standardsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> v4l2_tvnorm were meant to describe video standards and its names to V4L2 API. However, this were meaning several static structures at the driver. This patch changes the internals in a way that, at the driver, only a v4l2_tvnorm (a 32 bit integer) should be filled, with all supported parameters. videodev will dynamically generate the proper API array based on supported standards. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Renamed video_mux to cx88_video_mux and exported to cx88-blackbirdMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-video.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
2007-01-20Make cx88-blackbird to work againMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-video.c | 84 ++- linux/drivers/media/video/cx88/cx88.h | 12 3 files changed, 421 insertions(+), 238 deletions(-)
2007-01-20Uncommented NTSC/443 video standardMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-20Added support for V4L2_STD_NTSC_443Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/cx88/cx88-core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
2007-01-20Convert cx8800 driver to video_ioctl2 handlerMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> video_ioctl2 handler provides V4L2 API parsing. Using it makes the driver simpler, and isolates API parsing. This allows future reusage of driver controls using other ways, like sysfs and/or procfs and increases isolation of driver-specific handling from the generic common ioctl processing. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-07freezer.h exists only on kernel 2.6.20Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Create compat code with older kernels. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-07Cx88xx: Fix lockup on suspendMauro Carvalho Chehab
From: Robert Hancock <hancockr@shaw.ca> Suspending with the cx88xx module loaded causes the system to lock up because the cx88_audio_thread kthread was missing a try_to_freeze() call, which caused it to go into a tight loop and result in softlockup when suspending. Fix that. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27Backport some changes that happened at mainstreamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Basic changes: - replaced i2c_bit_del_bus() to i2c_del_adapter(); - Fixed MODULE_AUTHOR on ov7670 - Updates on drivers not maintained on this tree: i2c-id.h and sound/* kernel-sync: drivers/media/dvb/pluto2/pluto2.c | 8 ++++---- drivers/media/video/bt8xx/bttv-i2c.c | 6 +----- drivers/media/video/cx88/cx88-core.c | 2 +- drivers/media/video/cx88/cx88-vp3054-i2c.c | 2 +- drivers/media/video/ov7670.c | 2 +- drivers/media/video/vino.c | 2 +- drivers/media/video/zoran_card.c | 2 +- include/linux/i2c-id.h | 18 ++++++------------ sound/pci/bt87x.c | 4 ++-- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-23cx88: Fix leadtek_eeprom taggingMichael Krufky
From: Jean Delvare <khali@linux-fr.org> WARNING: drivers/media/video/cx88/cx88xx.o - Section mismatch: reference to .init.text: from .text between 'cx88_card_setup' (at offset 0x68c) and 'cx88_risc_field' Caused by leadtek_eeprom() being declared __devinit and called from a non-devinit context. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-18Fixes bug 7267: PAL/60 is not workingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On cx88 driver, sampling rate should be at chroma subcarrier freq (FSC). However, driver were programming wrong values for PAL/60, PAL/Nc and NTSC 4.43. This patch do the proper calculation. It also calculates htotal, hdelay and hactive constants, according with the sampling rate. It is tested with PAL/60 by Piotr Maksymuk and Olivier. Test is still required for PAL/Nc. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-16Several stuff backported from 2.6.19-git seriesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> - INIT_WORK replaced by INIT_DELAYED_WORK - struct work_struct replaced by struct delayed_work - callback parameters also changed - SLAB_KERNEL replaced by GFP_KERNEL - linux/suspend.h replaced by linux/freezer.h - on cpia: INIT_WORK replaced by INIT_WORK_NAR - file->f_dentry->d_inode replaced by file->f_path.dentry->d_inode Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-05cx88: trivial cleanupsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> - small whitespace cleanups - 80-column whitespace cleanups - remove unneeded brackets Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: Move cx88_dvb_bus_ctrl out of the card-specific areaMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This function should not be in the card-specific area of the file. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: consolidate cx22702_config structsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> There are five cx22702_config structs used by cx88-dvb, only two of which are unique. This patch removes the duplicates and sets each card to use one of the two remaining config structs. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attachMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing another static dependency of cx88-dvb on dvb-pll. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
2006-12-04cx88: cleanup dvb_pll_attach for lgdt3302 tunersMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Since we're using dvb_pll_attach now, we dont have to populate dev->core->pll_addr or dev->core->pll_desc anymore. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-04cx88: Convert lgdt3302 tuning function to use dvb_pll_attachTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> There was a still a pre-dvb-pll set_params function for the lgdt3302 in the cx88-dvb driver. This patch removes that function and uses dvb_pll_attach() for the cards that were using it (Dvico FusionHDTV 3 GOLD {Q,T}). This way the set_params function from dvb-pll is used. dvb_attach() is in turn used on dvb_pll_attach(), eliminating some static dependencies on dvb-pll. There are still a couple static dependencies on dvb-pll remaining. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-11-20Handle errors from input_register_device()Mauro Carvalho Chehab
From: Dmitry Torokhov <dtor@insightbb.com> Also sprinkled some input_sync() throughout the code. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Ricardo Cerqueira <v4l@cerqueira.org> Acked-by: Oliver Endriss <o.endriss@gmx.de> Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-19create new lgh06xf atsc tuner moduleMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch creates a new atsc tuner module for the LG TDVS-H06xF ATSC tuners, called lgh06xf. The purpose of this change is to reduce some duplicated code, and to allow the lgh06xf tuner code to take advantage of dvb_attach(). As a side effect, the dependency of dvb-bt8xx on dvb-pll has been removed, since the lgh06xf module itself will use dvb-pll, while remaining optional for the dvb-bt8xx driver through the use of DVB_FE_CUSTOMISE Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net>
2006-11-18Add support ptv-305Mauro Carvalho Chehab
From: Jelle Foks <jelle@foks.8m.com> Add subvendor/device of the ADSTech Instant TV Deluxe PTV-305 to the card list as card=45 (KWORLD_HARDWARE_MPEG_TV_XPERT). Signed-off-by: Jelle Foks <jelle@foks.8m.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-18Fix cx88-blackbird null pointerMauro Carvalho Chehab
From: Jelle Foks <jelle@foks.8m.com> Allows 'debug=1' for cx88-blackbird module (dev needs to be valid for dprintk). Fixes a null-pointer dereference when using debug=1. Signed-off-by: Jelle Foks <jelle@foks.8m.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-05cx88-dvb: whitespace cleanupMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> whitespace cleanup to match git commit 76dc82ab57236105285fd8520895c1404b8b952f kernel-sync Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-11-03cx88: fix remote control on WinFast 2000XP ExpertMichael Krufky
From: Hermann Pitton <hermann-pitton@arcor.de> fix remote control on WinFast 2000XP Expert by setting timing back to 1 ms, like it was in the original patch by Robert Reid. Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-10-21IRQ: Maintain regs pointer globally rather than passing to IRQ handlersMauro Carvalho Chehab
Kernel-sync: This patch is required to allow compilation of the tree with kernel 2.6.19. This is the original description of the original patch, signed by David Howells <dhowells@redhat.com>: Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-16cx88: use external adc for rca audio inputs on the ASUS PVR-416Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> For the ASUS PVR-416, the external adc must be used for the rca audio inputs, but television / radio inputs use the internal adc. Thanks to Alex Deucher for lending his card to me. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-10-16cx88: use external adc for svideo/composite on the KWorld HardwareMpegTV XPertMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> For the KWorld HardwareMpegTV XPert, the external adc must be used for svideo / composite inputs, but television / radio inputs use the internal adc. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-10-16cx88: determine whether or not to use external adc based on input settingMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Some cx88-blackbird boards use an external adc, but not necessarily for all inputs. Thus, this needs to be configurable on the card level for each input. This patch allows for the usage of the external adc to be determined by a bit setting in the cx88_input struct for cards based on the cx88 blackbird design. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-10-16cx88: cleanupsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> - fixed whitespace, replaced leading spaces with tabs - moved .mpeg descriptor below input settings Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-10-09merge: http://www.linuxtv.org/hg/~stoth/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-06cx88-blackbird module is rejected during probe.Steven Toth
From: Steven Toth <stoth@hauppauge.com> If the last cx88 board probed is not backbird based, and a previous board was, the entire module is unloaded leading to an oops during mpeg_open on the first /dev/videoN device. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-10-04merge: http://www.linuxtv.org/hg/~stoth/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-05Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_typeSteven Toth
From: Steven Toth <stoth@hauppauge.com> A bug in cx8802_get_driver() meant that in multiboard environments, when testing frontends on the non primary board, the incorrect device was returned resulting in "Unsupported value in .mpeg.." messages. Depending on the electrical design of the hardware (serial, parallel, rising/falling edge detect), transport would still be delivered and the problem went unnoticed. This patch ensures the correct instance of cx8802_dev is returned. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-10-04cx88: Add support for VIDIOC_INT_[SR]_REGISTER ioctlsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add support for the advanced debugging ioctls, to allow access to the cx88 registers from userspace. Only i2c_id == 0 is supported, for access to the cx88 adapter itself. There isn't any support for access to I2C clients of the adapter. Most of them don't have R/W registers anyway, and its necessary to use i2c-dev to talk to them from userspace. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-10-04i2c-algo-bit: Discard the mdelay data struct memberMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Apply the rellevant parts from i2c-algo-bit: Discard the mdelay data struct member, from Jean Delvare <khali@linux-fr.org>, that applies to V4L/DVB tree. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-04Several typo fixes applied at kernel treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch includes at the v4l-dvb tree several documentation fixes applied at kernel tree. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-29Add WinTV-HVR3000 DVB-T supportSteven Toth
From: Steven Toth <stoth@hauppauge.com> The WinTV-HVR3000 is currently defined for analog support only. This patch adds full DVB-T support. (DVB-S support will be added soon) Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-29Remove the cx8802_dev driver lock and use the core mutexSteven Toth
From: Steven Toth <stoth@hauppauge.com> The cx8802_dev semaphore was unnecessary. This patch removes is and uses the existing core mutex. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-29Force all cx88 DVB frontends to request bus access.Steven Toth
From: Steven Toth <stoth@hauppauge.com> Force all cx88 DVB frontends to request bus access. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-29Adding support for Nova-T-PCI PCI ID 0070:9000Steven Toth
From: Steven Toth <stoth@hauppauge.com> Adding support for Nova-T-PCI PCI ID 0070:9000 Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-29drivers/media/video/cx88: Remove unused defined FALSE/TRUEMauro Carvalho Chehab
From: Richard Knutsson <ricknu-0@student.ltu.se> Remove defines of FALSE/TRUE because they are not used. Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-29norm_notchfilter is used on just one point and argument is bogusMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Removed norm_notchfilter function. All the code is bound to 4 x FSC, so, any other filter won't work fine. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-29merge: http://linuxtv.org/hg/~mkrufky/cx88Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-28Fix some errors at cx88-mpegMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The previous cx88-mpeg patch introduced those errors while compiling: CC [M] /home/v4l/master2/v4l/cx88-mpeg.o /home/v4l/master2/v4l/cx88-mpeg.c: In function 'cx8802_request_acquire': /home/v4l/master2/v4l/cx88-mpeg.c:645: warning: comparison between pointer and integer /home/v4l/master2/v4l/cx88-mpeg.c:645: error: called object '"<7>%s/2-mpeg: "' is not a function /home/v4l/master2/v4l/cx88-mpeg.c: In function 'cx8802_request_release': /home/v4l/master2/v4l/cx88-mpeg.c:660: warning: comparison between pointer and integer /home/v4l/master2/v4l/cx88-mpeg.c:660: error: called object '"<7>%s/2-mpeg: "' is not a function Also, at cx88.h, it is reintroducing this prototype: extern void cx88_print_ioctl(char *name, unsigned int cmd) This function were removed in the past, since it were replaced by a more generic one on v4l2-common.c. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-28merge: http://www.linuxtv.org/hg/~stoth/hvr1300-finalMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-28use NULL instead of 0 for ptrsMauro Carvalho Chehab
From: Randy Dunlap <rdunlap@xenotime.net> Use NULL instead of 0 for pointer value, eliminate sparse warnings. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-27Dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support. Steven Toth
From: Steven Toth <stoth@hauppauge.com> A series of patches to change the cx88 framework to allow the PCI mpeg port to be shared dynamically between different types of drivers or applications. This patch changes the cx88-dvb and cx88-blackbird drivers to become 'sub drivers' of a higher single cx88-mpeg driver. The cx88-mpeg driver is a superset of the previous cx88-mpeg/blackbird drivers and now owns the IRQ. cx88-dvb/blackbird now become mini drivers, registering themselves with cx88-mpeg through a standard interface with callbacks. Sub drivers request access to hardware via the cx88-mpeg driver. In turn the cx88-mpeg driver determines whether the hardware is busy and accepts or refuses the request, grant access using callbacks into the sub drivers. The net effect is that you are no longer able to tamper with the mpeg port from multiple different applications at the same time, potentially breaking a live mpeg2 hardware encoding or dvb stream. The mechanism extends to enable multiple dvb frontends to be registered and share the single resource. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-09-25cx88: fix analog capture notch filterMichael Krufky
From: Lars Gjesse Kjellberg <lars.g.kjellberg@get2net.dk> This patch changes the setting of the cx2388x notch filter to match that of the video capture sample frequency, removing some annoying interference lines THAT would appear when capturing composite video. This has been tested in PAL and NTSC TV norms. It sets the Y/C separation luma notch filter, which removes the chroma signal from the luma signal when using a composite input. The luma notch filter operates at the video decoder's frequency, not the ADC's frequency or at the frequency of the scaled video. Y/C separation happens after the sample rate converter, before video scaling. The datasheet provides plots of the filter response for three _video decoder_ frequencies, 4x Fsc, square pixel, and ccir601. These are the same three frequencies for the notch filter control. It seems pretty clear that this filter should be set based on the video decoder frequency. The cx88 driver always uses a video decoder frequency of 4xFsc. Signed-off-by: Lars Gjesse Kjellberg <lars.g.kjellberg@get2net.dk> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>