summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-09-23[media] altera-stapl: it is time to move out from stagingIgor M. Liplianin
[mchehab@redhat.com: Fix a merge conflict] Signed-off-by: Igor M. Liplianin <liplianin@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-23[media] cx23885: fix type errorIgor M. Liplianin
Signed-off-by: Igor M. Liplianin <liplianin@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-23[media] move tm6000 to drivers/media/videoMauro Carvalho Chehab
The serious bugs got fixed already. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-23[media] tm6000: Fix some CodingStyle issuesMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] ati_remote: update Kconfig descriptionAnssi Hannula
The ati_remote driver supports more remotes nowadays, update the description to reflect that. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] ati_remote: add support for SnapStream Firefly remoteAnssi Hannula
The protocol differs by having two toggle bits in the scancode. Since one of the bits is otherwise unused, we can safely handle the bits unconditionally. [mchehab@redhat.com: Fix some bad whitespacing] Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] ati_remote: add keymap for Medion X10 RF remoteAnssi Hannula
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] ati_remote: fix check for a weird byteAnssi Hannula
The ati_remote_dump() function tries to not print "Weird byte" warning for 1-byte responses that contain 0xff or 0x00, but it doesn't work properly as it simply falls back to the "Weird data" warning in the else clause. Fix that by adding an inner if clause. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] ati_remote: parent input devices to usb interfaceAnssi Hannula
Parent the input devices to usb_interface instead of usb_device. This fixes (at least) persistent input device nodes. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] ati_remote: migrate to the rc subsystemAnssi Hannula
The keycode mangling algorithm is kept the same, so the new external keymap has the same values as the old static table. [mchehab@redhat.com: Fix some bad whitespacing] Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] move ati_remote driver from input/misc to media/rcAnssi Hannula
The driver will be migrated to the RC driver API in a following commit. [mchehab@redhat.com: Fix some bad whitespacing] Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] adp1653: set media entity typeAndy Shevchenko
The type of a media entity is default for this driver. This patch makes it explicitly defined as MEDIA_ENT_T_V4L2_SUBDEV_FLASH. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] TVP7002: Changed register valuesMats Randgaard
Register values changed according to the data sheet and Texas Instruments DaVinci_PSP_03_02_00_37. - TVP7002_RGB_COARSE_CLAMP_CTL changed to the default value in data sheet. - TVP7002_HPLL_PHASE_SEL deleted because the registers write to reserved bits. The default value works fine. Signed-off-by: Mats Randgaard <mats.randgaard@tandberg.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-22[media] TVP7002: Return V4L2_DV_INVALID if any of the errors occurMats Randgaard
Signed-off-by: Mats Randgaard <mats.randgaard@tandberg.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] TT-budget S2-3200 cannot tune on HB13E DVBS2 transponderLutz Sammer
The FEC fix patch fixed locking on 11,681 Ghz, but not on 12,692 Ghz for me. Reviewed-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] [2/2,ver,1.90] DM04/QQBOX Reduce USB buffer sizetvboxspy
Reduced unused buffer size to 64. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] [1/2,ver,1.89] DM04/QQBOX Interupt Urb and Timing changestvboxspy
Reduce buffer size of Interupt urb to 128 bytes and polling interval to 8. The devices buffer appears to only handle a maxium of 40 bytes. If the buffer is full a slowing effect is noticed causing occasionnal dropped streaming packets. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] v4l2: uvcvideo use after free bug fixYang Ruirui
Unplugging uvc video camera trigger following oops: eeepc kernel: [ 1393.500719] usb 3-2: USB disconnect, device number 4 eeepc kernel: [ 1393.504351] uvcvideo: Failed to resubmit video URB (-19). eeepc kernel: [ 1495.428853] BUG: unable to handle kernel paging request at 6b6b6bcb eeepc kernel: [ 1495.429017] IP: [<b0358d37>] dev_get_drvdata+0x17/0x20 eeepc kernel: [ 1495.429017] *pde = 00000000 eeepc kernel: [ 1495.429017] Oops: 0000 [#1] DEBUG_PAGEALLOC eeepc kernel: [ 1495.429017] eeepc kernel: [ 1495.429017] Pid: 3476, comm: cheese Not tainted 3.1.0-rc3-00270-g7a54f5e-dirty #485 ASUSTeK Computer INC. 900/900 eeepc kernel: [ 1495.429017] EIP: 0060:[<b0358d37>] EFLAGS: 00010202 CPU: 0 eeepc kernel: [ 1495.429017] EIP is at dev_get_drvdata+0x17/0x20 eeepc kernel: [ 1495.429017] EAX: 6b6b6b6b EBX: eb08d870 ECX: 00000000 EDX: eb08d930 eeepc kernel: [ 1495.429017] ESI: eb08d870 EDI: eb08d870 EBP: d3249cac ESP: d3249cac eeepc kernel: [ 1495.429017] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 eeepc kernel: [ 1495.429017] Process cheese (pid: 3476, ti=d3248000 task=df46d870 task.ti=d3248000) eeepc kernel: [ 1495.429017] Stack: eeepc kernel: [ 1495.429017] d3249cb8 b03e77a1 d307b840 d3249ccc b03e77d1 d307b840 eb08d870 eb08d830 eeepc kernel: [ 1495.429017] d3249ce4 b03ed3b7 00000246 d307b840 eb08d870 d3021b80 d3249cec b03ed565 eeepc kernel: [ 1495.429017] d3249cfc b03e044d e8323d10 b06e013c d3249d18 b0355fb9 fffffffe d3249d1c eeepc kernel: [ 1495.429017] Call Trace: eeepc kernel: [ 1495.429017] [<b03e77a1>] v4l2_device_disconnect+0x11/0x30 eeepc kernel: [ 1495.429017] [<b03e77d1>] v4l2_device_unregister+0x11/0x50 eeepc kernel: [ 1495.429017] [<b03ed3b7>] uvc_delete+0x37/0x110 eeepc kernel: [ 1495.429017] [<b03ed565>] uvc_release+0x25/0x30 eeepc kernel: [ 1495.429017] [<b03e044d>] v4l2_device_release+0x9d/0xc0 eeepc kernel: [ 1495.429017] [<b0355fb9>] device_release+0x19/0x90 eeepc kernel: [ 1495.429017] [<b03adfdc>] ? usb_hcd_unlink_urb+0x7c/0x90 eeepc kernel: [ 1495.429017] [<b026b99c>] kobject_release+0x3c/0x90 eeepc kernel: [ 1495.429017] [<b026b960>] ? kobject_del+0x30/0x30 eeepc kernel: [ 1495.429017] [<b026ca4c>] kref_put+0x2c/0x60 eeepc kernel: [ 1495.429017] [<b026b88d>] kobject_put+0x1d/0x50 eeepc kernel: [ 1495.429017] [<b03b2385>] ? usb_autopm_put_interface+0x25/0x30 eeepc kernel: [ 1495.429017] [<b03f0e5d>] ? uvc_v4l2_release+0x5d/0xd0 eeepc kernel: [ 1495.429017] [<b0355d2f>] put_device+0xf/0x20 eeepc kernel: [ 1495.429017] [<b03dfa96>] v4l2_release+0x56/0x60 eeepc kernel: [ 1495.429017] [<b019c8dc>] fput+0xcc/0x220 eeepc kernel: [ 1495.429017] [<b01990f4>] filp_close+0x44/0x70 eeepc kernel: [ 1495.429017] [<b012b238>] put_files_struct+0x158/0x180 eeepc kernel: [ 1495.429017] [<b012b100>] ? put_files_struct+0x20/0x180 eeepc kernel: [ 1495.429017] [<b012b2a0>] exit_files+0x40/0x50 eeepc kernel: [ 1495.429017] [<b012b9e7>] do_exit+0x5a7/0x660 eeepc kernel: [ 1495.429017] [<b0135f72>] ? __dequeue_signal+0x12/0x120 eeepc kernel: [ 1495.429017] [<b055edf2>] ? _raw_spin_unlock_irq+0x22/0x30 eeepc kernel: [ 1495.429017] [<b012badc>] do_group_exit+0x3c/0xb0 eeepc kernel: [ 1495.429017] [<b015792b>] ? trace_hardirqs_on+0xb/0x10 eeepc kernel: [ 1495.429017] [<b013755f>] get_signal_to_deliver+0x18f/0x570 eeepc kernel: [ 1495.429017] [<b01020f7>] do_signal+0x47/0x9e0 eeepc kernel: [ 1495.429017] [<b055edf2>] ? _raw_spin_unlock_irq+0x22/0x30 eeepc kernel: [ 1495.429017] [<b015792b>] ? trace_hardirqs_on+0xb/0x10 eeepc kernel: [ 1495.429017] [<b0123300>] ? T.1034+0x30/0xc0 eeepc kernel: [ 1495.429017] [<b055c45f>] ? schedule+0x29f/0x640 eeepc kernel: [ 1495.429017] [<b0102ac8>] do_notify_resume+0x38/0x40 eeepc kernel: [ 1495.429017] [<b055f154>] work_notifysig+0x9/0x11 eeepc kernel: [ 1495.429017] Code: e5 5d 83 f8 01 19 c0 f7 d0 83 e0 f0 c3 8d b4 26 00 00 00 00 55 85 c0 89 e5 75 09 31 c0 5d c3 90 8d 74 26 00 8b 40 04 85 c0 74 f0 <8b> 40 60 5d c3 8d 74 26 00 55 89 e5 53 89 c3 83 ec 04 8b 40 04 eeepc kernel: [ 1495.429017] EIP: [<b0358d37>] dev_get_drvdata+0x17/0x20 SS:ESP 0068:d3249cac eeepc kernel: [ 1495.429017] CR2: 000000006b6b6bcb eeepc kernel: [ 1495.466975] uvcvideo: Failed to resubmit video URB (-27). eeepc kernel: [ 1495.467860] uvcvideo: Failed to resubmit video URB (-27). eeepc kernel: last message repeated 3 times eeepc kernel: [ 1495.512610] ---[ end trace 73ec16848794e5a5 ]--- For uvc device, dev->vdev.dev is the &intf->dev, uvc_delete code is as below: usb_put_intf(dev->intf); usb_put_dev(dev->udev); uvc_status_cleanup(dev); uvc_ctrl_cleanup_device(dev); if (dev->vdev.dev) v4l2_device_unregister(&dev->vdev); Fix it by get_device in v4l2_device_register and put_device in v4l2_device_disconnect Reported-by: Sitsofe Wheeler <sitsofe@yahoo.com> Signed-off-by: Dave Young <hidave.darkstar@gmail.com> Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] em28xx: Fix em28xx_devused cleanup logic on errorChris Rankin
On 04/09/11 00:49, Mauro Carvalho Chehab wrote: > This is an automatic generated email to let you know that the following patch were queued at the > http://git.linuxtv.org/media_tree.git tree: > > Subject: [media] em28xx: use atomic bit operations for devices-in-use mask > Author: Chris Rankin<rankincj@yahoo.com> > Date: Sat Aug 20 08:21:03 2011 -0300 > > Use atomic bit operations for the em28xx_devused mask, to prevent an > unlikely race condition should two adapters be plugged in > simultaneously. The operations also clearer than explicit bit > manipulation anyway. > > Signed-off-by: Chris Rankin<rankincj@yahoo.com> > Signed-off-by: Mauro Carvalho Chehab<mchehab@redhat.com> > > drivers/media/video/em28xx/em28xx-cards.c | 33 ++++++++++++++--------------- I think you missed this line in the merge. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] tm6000: Enable fast USB quirk on Cinergy HybridThierry Reding
The Cinergy Hybrid cards are known not to need an artificial delay after USB accesses so the quirk can safely be enabled. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] tm6000: Add fast USB access quirkThierry Reding
Some devices support fast access to registers using the USB interface while others require a certain delay after each operation. This commit adds a quirk that can be enabled by devices that don't need the delay. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] mt9t001: Aptina (Micron) MT9T001 3MP sensor driverLaurent Pinchart
The MT9T001 is a parallel 3MP sensor from Aptina (formerly Micron) controlled through I2C. The driver creates a V4L2 subdevice. It currently supports binning and cropping, and the gain, exposure, test pattern and black level controls. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] omap3isp: video: Avoid crashes when pipeline set stream operation failsLaurent Pinchart
If streaming can't be enabled on the pipeline, the DMA buffers queue is not emptied. If the buffers then get freed the queue will end up referencing free memory. This is usually not an issue, as the DMA queue will be reinitialized the next time streaming is enabled, before enabling the hardware. However, if the sensor connected at the pipeline input is free-running, the CCDC will start generating interrupts as soon as it gets powered up, before the streaming gets enabled on the hardware. This will make the CCDC interrupt handler access freed memory, causing a crash. Reinitialize the DMA buffers queue in isp_video_streamon() if the error path to make sure this situation won't happen. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] omap3isp: Don't fail streamon when the sensor doesn't implement s_streamLaurent Pinchart
The code handles subdevs with no s_stream operation correctly, but returns -ENOIOCTLCMD by mistake if the first subdev in the chain has no s_stream operation. Return 0 in that case. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] media: s5p-mfc: fix section mismatchKamil Debski
Fix section mismatch in the MFC driver. Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] [-mmotm] media: video/adp1653.c needs module.hRandy Dunlap
adp1653.c uses interfaces that are provided by <linux/module.h> and needs to include that header file to fix build errors. and more. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] imon: don't parse scancodes until intf configuredJarod Wilson
The imon devices have either 1 or 2 usb interfaces on them, each wired up to its own urb callback. The interface 0 urb callback is wired up before the imon context's rc_dev pointer is filled in, which is necessary for imon 0xffdc device auto-detection to work properly, but we need to make sure we don't actually run the callback routines until we've entirely filled in the necessary bits for each given interface, lest we wind up oopsing. Technically, any imon device could have hit this, but the issue is exacerbated on the 0xffdc devices, which send a constant stream of interrupts, even when they have no valid key data. CC: Andy Walls <awalls@md.metrocast.net> CC: Chris W <lkml@psychogeeks.com> Reported-by: Chris W <lkml@psychogeeks.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] STV0288 frontend provide wider carrier search and DVB-S2 drop out. ↵tvboxspy
resend The following patch provides wider carrier search. As with existing code search starts at MSB aligned. The boundary is widened to start at -9. In order to save time, if no carrier is detected at the start it advances to the next alignment until carrier is found. The stv0288 will detect a DVB-S2 carrier on all steps , a time out of 11 steps is introduced to drop out of the loop. In stv0288_set_symbol carrier and timing loops are restored to default values (inittab) before setting the symbol rate on each tune. A slight drift was noticed with full scan in the higher IF frequencies of each band. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] noon010pc30: Remove g_chip_ident operation handlerSylwester Nawrocki
It is now not needed as the sensor identification is done through the media controller API. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] v4l: Move SR030PC30, NOON010PC30, M5MOLS drivers to the right locationSylwester Nawrocki
SR030PC30, NOON010PC30, M5MOLS are camera sensors so better place for them is under the "Camera sensors" Kconfig section. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] noon010pc30: Improve s_power operation handlingSylwester Nawrocki
Remove the now unneeded check for the platform data in s_power handler and the platform data pointer in struct noon010_info. Also do not reset the configured output resolution and pixel format when cycling sensor's power. Add small delay for proper reset signal shape. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] noon010pc30: Conversion to the media controller APISylwester Nawrocki
Replace g/s_mbus_fmt ops with the pad level get/set_fmt operations. Add media entity initialization and set subdev flags so the host driver creates a subdev device node for the driver. A mutex was added for serializing the subdev operations. When setting format is attempted during streaming an (EBUSY) error will be returned. After the device is powered up it will now remain in "power sleep" mode until s_stream(1) is called. The "power sleep" mode is used to suspend/resume frame generation at the sensor's output through s_stream op. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] davinci vpbe: Use resource_size()Thomas Meyer
Use resource_size function on resource object instead of explicit computation. The semantic patch that makes this output is available in scripts/coccinelle/api/resource_size.cocci. More information about semantic patching is available at http://coccinelle.lip6.fr/ Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] mt9m111: move lastpage to struct mt9m111 for multi instancesMichael Grzeschik
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] sr030pc30: Remove empty s_stream opSylwester Nawrocki
s_stream does nothing in current form so remove it. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] saa7115: use the new auto cluster supportHans Verkuil
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] pwc: add support for VIDIOC_LOG_STATUSHans Verkuil
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] vivi: add support for VIDIOC_LOG_STATUSHans Verkuil
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] pwc: switch to the new auto-cluster volatile handlingHans Verkuil
Now that the auto cluster core changed to a different scheme of how to handle volatile controls (including how to switch from auto to manual mode) the pwc code can be simplified to use that new core support. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] v4l2-controls.txt: update auto cluster documentationHans Verkuil
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] v4l2-ctrls: implement new volatile autocluster schemeHans Verkuil
The problem tackled in this patch is how to handle volatile autoclusters correctly. A volatile autocluster is a cluster of related controls where one control is the control that toggles between manual and auto mode and the other controls are the values for the manual mode. For example autogain and gain, autoexposure and exposure, etc. If the hardware lets you read out the automatically calculated manual values while in automode, then those manual controls should be marked volatile. gain value as calculated by the autogain circuitry, then you would mark the gain control as volatile (i.e. continuously changing). The question in such use cases is what to do when switching from the auto mode to the manual mode. Should we switch to the last set manual values or should the volatile values be copied and used as the initial manual values. For example: suppose the mode is manual gain and gain is set to 5. Then autogain is turned on and the gain is set by the hardware to 2. Finally the user switches back to manual gain. What should the gain be? 2 or 5? After a long discussion the decisions was made to keep the last value as calculated by the auto mode (so 2 in the example above). The reason is that webcams that do such things will adapt themselves to the current light conditions and when you switch back to manual mode you expect that you keep the same picture. If you would switch back to old manual values, then that would give you a suddenly different picture, which is jarring for the user. Additionally, this would be difficult to implement in applications that store and restore the control values at application exit and start. If you want to keep the old manual values when you switch from auto to manual, then there would have to be a way for applications to get hold of those old values while in auto mode, but there isn't. So this patch will do all the heavy lifting in v4l2-ctrls.c: if you go from auto mode to manual mode and the manual controls are volatile, then g_volatile_ctrl will be called to get the current values for the manual controls before switching to manual mode. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] saa7164: Adding support for HVR2200 card id 0x8953Steven Toth
Thanks to Greg Tangey for prompting me to merge this. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] get_dvb_firmware: whitespace fixAntti Palosaari
it9135 was the only one intended with spaces as others are tabs. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] tda10071: change sleeps to more suitable onesAntti Palosaari
msleep() => usleep_range() Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] tda10071: do not download last byte of fwAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] em28xx: ERROR: "em28xx_add_into_devlist" ↵Chris Rankin
[drivers/media/video/em28xx/em28xx.ko] undefined! Signed-off-by: Chris Rankin <rankincj@yahoo.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] get_dvb_firmware: update tda10071 file urlAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] get_dvb_firmware: add dvb-fe-tda10071.fwAntti Palosaari
TDA10071 firmware version 1.21.31.2 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] opera1: fix ERROR: do not use assignment in if conditionMichael Krufky
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-21[media] m920x: fix ERROR: do not use assignment in if conditionMichael Krufky
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>