aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
Commit message (Collapse)AuthorAge
...
| * | V4L/DVB: media: video: pvrusb2: remove custom hex_to_bin()Andy Shevchenko2010-08-08
| | | | | | | | | | | | | | | | | | Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: drivers: usbvideo: remove custom implementation of hex_to_bin()Andy Shevchenko2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: Report supported QAM modes on bt8xxArnuschky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here a small patch to get a TwinHan VT DST DVB-T card working with kernels >= 2.6.32. Analogously to http://linuxtv.org/hg/v4l-dvb/rev/0e735b509163 I had to: "Fill in the .caps field in struct dst_dvbt_ops (around line 1763) with all the supported QAM modulation methods to match the capabilities of the card as implemented in function dst_set_modulation (around line 502). Note that beginning with linux kernel version 2.6.32 the modulation method is checked (by function dvb_frontend_check_parameters in file drivers/media/dvb/dvb-core/dvb_frontend.c) and thus tuning fails if you use a modulation method that is not present in the .caps field." Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: media: ir-keytable: null dereference in debug codeDan Carpenter2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | "ir_dev->props" can be NULL. We only use raw mode if "ir_dev->props" is non-NULL and "ir_dev->props->driver_type == RC_DRIVER_IR_RAW". Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: ivtv: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: ivtv: convert gpio subdev to new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: wm8739: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: cs53l32a: convert to new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: wm8775: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: cx2341x: convert to the control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since this module is also used by drivers that are not yet converted, the old and new code have to co-exist. The source is split into three parts: a common part at the top, which is used by both old and new code, then the old code followed by the new control framework implementation. This new code is much more readable (and shorter!) than the original code. Once all bridge drivers that use this are converted the old code can be deleted. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: cx25840: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: cx25840/ivtv: replace ugly priv control with s_configHans Verkuil2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cx25840 used a private control CX25840_CID_ENABLE_PVR150_WORKAROUND to be told whether to enable a workaround for certain pvr150 cards. This is really config data that it needs to get at load time. Implemented this in cx25840 and ivtv. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: saa717x: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: msp3400: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: saa7115: convert to the new control frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: v4l2: hook up the new control framework into the core frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the calls needed to automatically merge subdev controls into a bridge control handler. Hook up the control framework in __video_ioctl2 and video_register_device. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: v4l2-ctrls: Whitespace cleanupsMauro Carvalho Chehab2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 37 checkpatch.pl warnings like: WARNING: please, no space before tabs +^Icase V4L2_CID_MPEG_VIDEO_PULLDOWN: ^Ireturn "Video Pulldown";$ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: v4l2-ctrls: reorder 'case' statements to match order in headerHans Verkuil2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | To make it easier to determine whether all controls are added in v4l2-ctrls.c the case statements inside the switch are re-ordered to match the header. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: v4l2: Add new control handling frameworkHans Verkuil2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new framework to handle controls which makes life for driver developers much easier. Note that this patch moves some of the control support that used to be in v4l2-common.c to v4l2-ctrls.c. The tables were copied unchanged. The body of v4l2_ctrl_query_fill() was copied to a new v4l2_ctrl_fill() function in v4l2-ctrls.c. This new function doesn't use the v4l2_queryctrl struct anymore, which makes it more general. The remainder of v4l2-ctrls.c is all new. Highlights include: - No need to implement VIDIOC_QUERYCTRL, QUERYMENU, S_CTRL, G_CTRL, S_EXT_CTRLS, G_EXT_CTRLS or TRY_EXT_CTRLS in either bridge drivers or subdevs. New wrapper functions are provided that can just be plugged in. Once everything has been converted these wrapper functions can be removed as well. - When subdevices are added their controls can be automatically merged with the bridge driver's controls. - Most drivers just need to implement s_ctrl to set the controls. The framework handles the locking and tries to be as 'atomic' as possible. - Ready for the subdev device nodes: the same mechanism applies to subdevs and their device nodes as well. Sub-device drivers can make controls local, preventing them from being merged with bridge drivers. - Takes care of backwards compatibility handling of VIDIOC_S_CTRL and VIDIOC_G_CTRL. Handling of V4L2_CID_PRIVATE_BASE is fully transparent. CTRL_CLASS controls are automatically added. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: v4l: s5p-fimc: Fix coding style issuesPawel Osciak2010-08-08
| | | | | | | | | | | | | | | | | | Signed-off-by: Pawel Osciak <p.osciak@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: mt9m111: init chip after read CHIP_VERSIONMichael Grzeschik2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moved mt9m111_init after the chip version detection passage: I don't like the idea of writing on a device we haven't identified yet. Signed-off-by: Philipp Wiesner <p.wiesner@phytec.de> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: mt9m111: Added indication that MT9M131 is supported by this driverPhilipp Wiesner2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added this info to Kconfig and mt9m111.c, some comment cleanup, replaced 'mt9m11x'-statements by clarifications or driver name. Driver is fully compatible to mt9m131 which has only additional functions compared to mt9m111. Those aren't used anyway at the moment. Signed-off-by: Philipp Wiesner <p.wiesner@phytec.de> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: mx2_camera: add rising edge for pixclockMichael Grzeschik2010-08-08
| | | | | | | | | | | | | | | | | | Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: mx2_camera: fix for list bufnum in frame_done_emmaMichael Grzeschik2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The emma uses bufnum 1 and 0. This patch tells the bufqueue to change the next buffer to the next one and not the current one. Otherwise the BUG_ON above will trigger everytime. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: V4L: do not autoselect components on embedded systemsGuennadi Liakhovetski2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tuner, DVB frontend and video helper chip drivers are by default autoselected by their respective host cards, this, however, doesn't make much sense on SoC-based systems. Disable autoselection on EMBEDDED systems. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: soc-camera: prohibit S_CROP, if internal G_CROP has failedGuennadi Liakhovetski2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | There is no sense in trying to set cropping if we cannot get current one from the host driver. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - zc3xx: Redefine the exchanges of sensor mt9v111 (mi0360soc)Jean-François Moine2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The exchanges for sensor mt9v111 are different with bridges zc301 and zc303. The exchanges for the bridge zc303 were those of the bad named tas5130ck. These mt9v111 exchanges have been adjusted from the ms-Windows public files vm30x.inf (for 0ac8:301b) and usbvm303.inf (for 0ac8:303b). Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - zc3xx: Add the light frequency control for sensor hv7131rJean-François Moine2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | The new exchanges are extracted from the public file lPEPI264v.inf of the ms-Windows driver. In this file, the sensor is named hv7131b but the exchanges are those of the hv7131r. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - zc3xx: Possible use of the highest alternate settingJean-François Moine2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - zc3xx: Do the sensor probe at resume timeJean-François Moine2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - zc3xx: Check the USB exchangesJean-François Moine2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - zc3xx: Cleanup sourceJean-François Moine2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - use an enum to define the sensor numbers - use the sensor numbers to index the associated tables - rename TAS5130CXX to TAS5130C - rename HV7131C to HV7131R - change some comments Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: gspca - main: Fix a crash in gspca_frame_add()Jean-François Moine2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some webcams as ov511 may find many times an end of image. In this case, with the last patch in image concatenation (commit 799b1bd41f398054d46fd35f73abd01c4009f6ca), the image pointer was NULL and the system crashed in memcpy(). Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: v4l: Add driver for Samsung S5P SoC video postprocessorSylwester Nawrocki2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver exports a video device node per each camera interface/ video postprocessor (FIMC) device contained in Samsung S5P SoC series. The driver is based on v4l2-mem2mem framework. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Pawel Osciak <p.osciak@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: uvcvideo: Add support for Miricle 307K thermal webcamLaurent Pinchart2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | The camera requires the STREAM_NO_FID quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: uvcvideo: Drop corrupted compressed framesLaurent Pinchart2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corrupted video frames are dropped by default by the driver for uncompressed formats. Data corruption is not less problematic for compressed formats, so frame drop should be enabled by default for those formats as well. Mark buffers as faulty when an isochronous packet loss is detected for any format, or when the buffer length doesn't match the image size for uncompressed formats. Drop erroneous buffers regardless of whether the format is compressed or uncompressed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR keymap: Add print button for HP OEM version of MCE remoteAndy Walls2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a defintion for the "Print" button found on HP OEM versions of the MCE remote. All of the other keys found on the HP OEM version of the remote match the other keys as already defined. Because, who doesn't need "remote printing", while one is sitting on the couch across from one's PC? ;) Signed-off-by: Andy Walls <awalls@md.metrocast.net> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: Port ene driver to new IR subsystem and enable itMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: STAGING: remove lirc_ene0100 driverMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | Add latest unported version of this driver to media/IR. Next patch will port it to ir core. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: report unknown scancodes the in-kernel decoders foundMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | This way it is possible to use evtest to create keymap for unknown remote. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: extend interfaces to support more device settingsMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | LIRC: add new IOCTL that enables learning mode (wide band receiver) Still missing features: carrier report & timeout reports. Will need to pack these into ir_raw_event Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: add helper function for hardware with small o/b bufferMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some ir input devices have small buffer, and interrupt the host each time it is full (or half full) Add a helper that automaticly handles timeouts, and also automaticly merges samples of same time (space-space) Such samples might be placed by hardware because size of sample in the buffer is small (a byte for example). Also remove constness from ir_dev_props, because it now contains timeout settings that driver might want to change Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: Allow not to compile keymaps inMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, ir device registration fails if keymap requested by driver is not found. Fix that by always compiling in the empty keymap, and using it as a failback. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: NECX: support repeatMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for repeat detecting for NECX variant Tested with uneversal remote Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: nec decoder: fix repeatMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repeat space is 4 units, not 8. Current code would never trigger a repeat. However that isn't true for NECX, so repeat there must be handled differently. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Reviewed-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: JVC: make repeat workMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | Currently, jvc decoder will attempt misdetect next press as a repeat of last keypress, therefore second keypress isn't detected. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: replace workqueue with kthreadMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is perfectly possible to have ir_raw_event_work running concurently on two cpus, thus we must protect it from that situation. This stems from the fact that if hardware sends short packets of samples we might end up queueing the work item more times that nessesary. Such job isn't well suited for a workqueue, so use a kernel thread. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: replace spinlock with mutexMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some handlers (lirc for example) allocates memory on initialization, doing so in atomic context is cumbersome. Fixes warning about sleeping function in atomic context. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: minor fixesMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lirc: Don't propagate reset event to userspace * lirc: Remove strange logic from lirc that would make first sample always be pulse * Make TO_US macro actualy print what it should. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | V4L/DVB: IR: Kconfig fixesMaxim Levitsky2010-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move IR drives below separate menu. This allows to disable them. Also correct a typo. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>