summaryrefslogtreecommitdiffstats
path: root/drivers/media/video (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for_linus' of ↵Linus Torvalds2009-09-21113-3107/+24196
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (222 commits) V4L/DVB (13033): pt1: Don't use a deprecated DMA_BIT_MASK macro V4L/DVB (13029): radio-si4713: remove #include <linux/version.h> V4L/DVB (13027): go7007: convert printks to v4l2_info V4L/DVB (13026): s2250-board: Implement brightness and contrast controls V4L/DVB (13025): s2250-board: Fix memory leaks V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd V4L/DVB (13023): go7007: Merge struct gofh and go declarations V4L/DVB (13022): go7007: Fix mpeg controls V4L/DVB (13021): go7007: Fix whitespace and line lengths V4L/DVB (13020): go7007: Updates to Kconfig and Makefile V4L/DVB (13019): video: initial support for ADV7180 V4L/DVB (13018): kzalloc failure ignored in au8522_probe() V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start() V4L/DVB (13016): kmalloc failure ignored in lgdt3304_attach() and s921_attach() V4L/DVB (13015): kmalloc failure ignored in m920x_firmware_download() V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only) V4L/DVB (13013): FM TX: si4713: Kconfig: Fixed two typos. V4L/DVB (13012): uvc: introduce missing kfree V4L/DVB (13011): Change tuner type of BeholdTV cards V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure range ...
| * V4L/DVB (13019): video: initial support for ADV7180Richard Röjfors2009-09-193-0/+212
| | | | | | | | | | | | | | | | | | | | | | | | This is an initial driver for Analog Devices ADV7180 Video Decoder. So far it only supports query standard. [akpm@linux-foundation.org: remove unneeded cast] Cc: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start()Roel Kluin2009-09-191-0/+2
| | | | | | | | | | | | | | | | | | Prevent NULL dereference if kmalloc() fails. Cc: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only)Vladimir Geroy2009-09-193-0/+14
| | | | | | | | | | | | | | | | | | Adding Compro VideoMate E800 (DVB-T part only) Cc: Steven Toth <stoth@linuxtv.org> Signed-off-by: Vladimir Geroy <geroin22@yandex.ru> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13012): uvc: introduce missing kfreeJulia Lawall2009-09-191-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the kzalloc and associated test after the stream/query test, to avoid the need to free the allocated if the stream/query test fails. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13011): Change tuner type of BeholdTV cardsDmitry Belimov2009-09-191-7/+7
| | | | | | | | | | | | | | | | | | Change tuner type to correct for BeholdTV cards with FM1216MK5. Cc: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure rangeJames Blanford2009-09-192-52/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to rounding and clipping, exposure and gain settings do not map to unique register values. Rather than read the registers and report gain and exposure that may be different than the values that were set, just cache the latest values that were set and report them. Reduce exposure range from 0-65535 to 0-255 so libv4l's autogain doesn't take forever. Remove vestiges of driver signal processing that is now handled by libv4l. Signed-off-by: James Blanford <jhblanford@gmail.com> Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13008): gspca - stv06xx-hdcs: Fixup exposureJames Blanford2009-09-191-18/+31
| | | | | | | | | | | | | | | | | | | | Initialize image size before it's used to initialize exposure. Work around lack of exposure set hardware latch with a sequence of register writes in a single I2C command packet. Signed-off-by: James Blanford <jhblanford@gmail.com> Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13007): gspca - stv06xx-hdcs: Add exposure and gain ctrls to hdcs_1020Erik Andrén2009-09-191-1/+29
| | | | | | | | | | Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13006): gspca - stv06xx: Fix a misindentationErik Andrén2009-09-191-2/+2
| | | | | | | | | | Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13005): gspca - stv06xx: Translate swedish comments to englishErik Andrén2009-09-191-8/+7
| | | | | | | | | | Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13004): gspca - stv06xx: Harmonize the debug macros when tracing ↵Erik Andrén2009-09-191-8/+7
| | | | | | | | | | | | | | writes and reads Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13003): Correct dangerous and inefficient msecs_to_jiffies() ↵Andreas Mohr2009-09-193-6/+12
| | | | | | | | | | | | | | calculation in some V4L2 drivers Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13002): Adds support for Zolid Hybrid PCI card:Henk Vergonet2009-09-193-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://linuxtv.org/wiki/index.php/Zolid_Hybrid_TV_Tuner test status analog (PAL-B): - Sometimes picture is noisy, but it becomes crystal clear after switching between channels. (happens for example at 687.25 Mhz) - On a lower frequency (511.25 Mhz) the picture is always sharp, but lacks colour. - No sound problems. - radio untested. Digital: - DVB-T/H stream reception works. - Would expect to see some more channels in the higher frequency region. Overall is the impression that sensitivity still needs improvement both in analog and digital modes. Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (13001): Key filter for BeholdTV cards.Dmitri Belimov2009-09-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When fast push-pull button of remote control we can received incorrect key code 0x00. Key information from IR decoder has ID of remote control 2 bytes, byte of key code and byte of mirror key code. Correct data 0x86 0x6B 0x00 0xFF Wrong data 0x86 0x6B 0x00 0x00 This patch added additional test of mirror byte for filtering. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB(12993b): gl860: Prevent a potential risk of zeroing a floating pointerMauro Carvalho Chehab2009-09-191-0/+2
| | | | | | | | | | | | | | drivers/media/video/gspca/gl860/gl860.c: In function ‘gl860_build_control_table’: drivers/media/video/gspca/gl860/gl860.c:119: warning: ‘sd_ctrls’ may be used uninitialized in this function Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12993a): saa7164: Fix compilation warning on i386Mauro Carvalho Chehab2009-09-191-4/+4
| | | | | | | | | | | | | | | | drivers/media/video/saa7164/saa7164-buffer.c: In function ‘saa7164_buffer_alloc’: drivers/media/video/saa7164/saa7164-buffer.c:110: warning: cast to pointer from integer of different size drivers/media/video/saa7164/saa7164-buffer.c:112: warning: cast to pointer from integer of different size Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12906d): V4L : vpif updates for DM6467 vpif capture driverMuralidharan Karicheri2009-09-192-26/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following changes done for vpif driver to support vpif capture:- 1) Current version of display driver defined vpif register space as part for vpif display platform driver resource This is not correct since vpif is common across capture and display drivers. So the resource iomap function is moved to this module 2) Since there are common registers, a spinlock is added for mutual exclusion. This has incorporated comments against version v0 of the patch series Resending to merge to V4L linux-next Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Muralidharan Karicheri <m-karicheri2@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12906c): V4L : vpif capture driver for DM6467Muralidharan Karicheri2009-09-192-0/+2333
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the vpif capture bridge driver for DM6467. This video supports two video channels each having a tvp5147 device at the input. This allows simultaneous capture of NTSC/PAL video in each of this channel. Both MMAP and USERPTR io mechanism are supported. Currently buffer allocation happens at REQBUF ioctl request. Since USERPTR IO is supported, this is not an issue since user applications can allocate buffers and pass the user space address to the driver. Following are TODOs :- 1) Adding support for allocation of buffers at init 2) VBI/HBI data service This has incorporated comments received against version v0 of the patch series. Resending to merge V4l linux-next create mode 100644 drivers/media/video/davinci/vpif_capture.c create mode 100644 drivers/media/video/davinci/vpif_capture.h Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Muralidharan Karicheri <m-karicheri2@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12906b): V4L : vpif capture - Kconfig and Makefile changesMuralidharan Karicheri2009-09-192-2/+15
| | | | | | | | | | | | | | | | | | | | Adds Kconfig and Makefile changes required for vpif capture driver Resending to merge to V4L linux-next Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Muralidharan Karicheri <m-karicheri2@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12906a): V4L : vpif display updates to support vpif captureMuralidharan Karicheri2009-09-191-36/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The structure name for vpif display driver changed since it was not unique. So this update is done to reflect the same. Also removed the code related to register address space iomap. Uses v4l2_i2c_new_subdev_board() instead of v4l2_i2c_new_probed_subdev() so that platform data can be added for subdevice configuration for polarities. This has incorporated comments against version v0 of the patch series. Resending the original patch for merge to V4L linux-next Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Muralidharan Karicheri <m-karicheri2@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12725): v4l: warn when desired devnodenr is in use & add _no_warn ↵Hans Verkuil2009-09-193-3/+21
| | | | | | | | | | | | | | | | | | | | | | function Warn when the desired device node number is already in use, except when the new video_register_device_no_warn function is called since in some use-cases that warning is not relevant. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12724): v4l2-dev: add simple wrapper functions around the devnode ↵Hans Verkuil2009-09-191-5/+48
| | | | | | | | | | | | | | | | | | | | | | numbers There are some subtle differences in the way the devnode numbers are handled depending on whether the FIXED_MINOR_RANGES config option is set. Add some simple wrapper functions to handle that correctly. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12723): ivtv/cx18: replace 'kernel number' with 'device node number'.Hans Verkuil2009-09-194-4/+4
| | | | | | | | | | Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12722): v4l2-dev: replace 'kernel number' by 'device node number'.Hans Verkuil2009-09-191-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | The term 'kernel number' is very vague, so replace it with the somewhat more descriptive term 'device node number'. In one place the local variable 'nr' was used to create the device node number of the new device name. This has been replaced with the vdev->num field to more clearly mark this as being the device node number and not the minor number. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12541): v4l: remove video_register_device_indexHans Verkuil2009-09-191-40/+15
| | | | | | | | | | | | | | | | | | | | | | video_register_device_index is never actually called, instead the stream index number is always calculated automatically. This patch removes this function and simplifies the internal get_index function since that can now always just return the first free index. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12540): v4l: simplify v4l2_i2c_new_subdev and friendsHans Verkuil2009-09-1921-244/+111
| | | | | | | | | | | | | | | | | | | | Rewrite v4l2_i2c_new_subdev as a simplified version of v4l2_i2c_new_subdev_cfg and remove v4l2_i2c_new_probed_subdev and v4l2_i2c_new_probed_subdev_addr. This simplifies this API substantially. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12580): soc-camera: remove now unneeded subdevice group ID assignmentsGuennadi Liakhovetski2009-09-192-2/+0
| | | | | | | | | | | | | | | | | | Since we are not using v4l2_device_call_* calls any more, we don't need to initialise subdevice .grp_id any more. This also fixes compiler warnings on 64-bit platforms. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12536): soc-camera: remove .gain and .exposure struct ↵Guennadi Liakhovetski2009-09-1910-75/+131
| | | | | | | | | | | | | | | | | | | | soc_camera_device members This makes the soc-camera interface for V4L2 subdevices thinner yet. Handle gain and exposure internally in each driver just like all other controls. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12535): soc-camera: remove .init() and .release() methods from ↵Guennadi Liakhovetski2009-09-195-78/+26
| | | | | | | | | | | | | | | | | | | | struct soc_camera_ops Remove unneeded soc-camera operations, this also makes the soc-camera API to v4l2 subdevices thinner. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12534): soc-camera: V4L2 API compliant scaling (S_FMT) and cropping ↵Guennadi Liakhovetski2009-09-1912-631/+1465
| | | | | | | | | | | | | | | | | | | | | | | | (S_CROP) The initial soc-camera scaling and cropping implementation turned out to be incompliant with the V4L2 API, e.g., it expected the user to specify cropping in output window pixels, instead of input window pixels. This patch converts the soc-camera core and all drivers to comply with the standard. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12533): soc-camera: Use video device object for output in host driversGuennadi Liakhovetski2009-09-194-89/+110
| | | | | | | | | | Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12532): soc-camera: Use camera device object for core outputGuennadi Liakhovetski2009-09-191-5/+3
| | | | | | | | | | Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12531): soc-camera: Use I2C device for dev_{dbg,info,...} output in ↵Guennadi Liakhovetski2009-09-196-37/+38
| | | | | | | | | | | | | | all clients Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12530): soc-camera: switch to using v4l2_subdev_call()Guennadi Liakhovetski2009-09-195-40/+38
| | | | | | | | | | | | | | | | Use v4l2_subdev_call() instead of v4l2_device_call_until_err() in all host drivers and in soc-camera core. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12529): soc-camera: switch to s_crop v4l2-subdev video operationGuennadi Liakhovetski2009-09-1912-137/+141
| | | | | | | | | | | | | | | | | | | | Remove set_crop soc-camera device method and switch to s_crop from v4l2-subdev video operations. Also extend non-i2c drivers to also hold a pointer to their v4l2-subdev instance in control device driver-data, i.e., in dev_get_drvdata((struct device *)to_soc_camera_control(icd)) Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12528): sh_mobile_ceu_camera: implement host-side image scalingGuennadi Liakhovetski2009-09-191-71/+321
| | | | | | | | | | | | | | | | | | | | Use host-side image scaling when the client fails to set the requested format. We also have to take scaling into account when performing host-side cropping. Similar to cropping we try to use client-side scaling as much as possible to preserve bus bandwidth and optimise the frame-rate. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12527): tw9910: do not lie about cropping abilitiesGuennadi Liakhovetski2009-09-191-2/+4
| | | | | | | | | | | | | | | | | | The current tw9910 driver does not implement cropping correctly. Therefore, and also because various rectangles in struct soc_camera_device are in user scale, we cannot and shall not use rect_current as window location. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12526): ov772x: do not use scaling for croppingGuennadi Liakhovetski2009-09-191-9/+8
| | | | | | | | | | | | | | | | OV772x sensors cannot crop, they only support two fixed formats: VGA and QVGA. We should not change the format when requested to crop, only S_FMT can do this. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12525): soc-camera: prohibit geometry change with initialised buffersGuennadi Liakhovetski2009-09-191-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | Prohibit S_FMT and S_CROP with a different window width or height after video buffer initialisation. This simplifies the work to be done in specific host and client drivers, and it doesn't seem to make much sense to allow these changes. We do however allow S_CROP with equal width and height to just move the window, this doesn't affect video buffer management and is usually easy enough to implement. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12524): soc-camera: S_CROP V4L2 API compliance fixGuennadi Liakhovetski2009-09-191-16/+23
| | | | | | | | | | | | | | | | V4L2 API mandates, that drivers do not update the argument of the S_CROP ioctl() with the actual geometry. Comply. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12523): tw9910: return updated geometry on successful S_FMT and S_CROPGuennadi Liakhovetski2009-09-191-2/+12
| | | | | | | | | | Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12522): sh-mobile-ceu-camera: implement host-side croppingGuennadi Liakhovetski2009-09-191-50/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all video capture devices can configure arbitrary cropping, whereas the CEU module on SuperH CPUs can crop with pixel precision. However, we want to use camera cropping if possible to save bandwidth and increase the frame-rate. This patch verifies whether the camera managed to crop exactly the requested rectangle, and if not, uses host-side cropping. To be able to crop on CEU we have to preserve camera rectangle too, for which the host_priv member in struct soc_camera_device is used. We now allocate memory dynamically, thus we have to use the .put_formats() method from struct soc_camera_host_ops to free it. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12521): soc-camera: use .s_std() from struct v4l2_subdev_core_opsGuennadi Liakhovetski2009-09-191-5/+2
| | | | | | | | | | | | | | | | Remove .set_std() method from struct soc_camera_ops, use .s_std() from struct v4l2_subdev_core_ops instead. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12520): sh-mobile-ceu-camera: do not wait for interrupt when ↵Guennadi Liakhovetski2009-09-191-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | releasing buffers Patch [PATCH] video: use videobuf_waiton() in sh_mobile_ceu free_buffer() was not quite correct. It closed a race, but introduced a potential lock-up, if for some reason an interrupt does not come. This has been observed in tests with tw9910. This patch safely dequeues buffers without waiting for their completion. It also moves a buffer state assignment under a spinlock to make it atomic with queuing of the buffer. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12519): soc-camera: put pixel format initialisation back in probe, ↵Guennadi Liakhovetski2009-09-191-15/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | add .put_formats() The move of format translation initialisation into soc_camera_open() was temporary for the soc-camera as platform driver intermediate step, put it back into soc_camera_probe(). Also add a .put_formats() method to soc_camera_host_ops to free any resources host driver might have allocated in .get_formats(). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12518): ov772x: S_CROP must return actually configured geometryGuennadi Liakhovetski2009-09-191-2/+8
| | | | | | | | | | | | | | | | | | V4L2 drivers are allowed to configure a geometry different than what has been requested by the user with S_CROP, but then they have to adjust the input rectangle accordingly. Fix ov772x to comply with this requirement. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12517): mt9t031: improve rectangle placement in invalid S_CROPGuennadi Liakhovetski2009-09-191-9/+9
| | | | | | | | | | | | | | | | | | | | | | 1. soc-camera always requests a valid rectangle, when calling .s_fmt(), no need to check and adjust 2. in .s_crop(), if the rectangle exceeds sensor limits, push it to the respective border instead of centering 3. take into account left and top borders when checking Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12516): ov772x: successful S_FMT and S_CROP must update ↵Guennadi Liakhovetski2009-09-191-4/+7
| | | | | | | | | | | | | | user-provided rectangle Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * V4L/DVB (12515): soc-camera: use struct v4l2_rect in struct soc_camera_deviceGuennadi Liakhovetski2009-09-1912-146/+172
| | | | | | | | | | | | | | | | Switch to using struct v4l2_rect in struct soc_camera_device for uniformity and simplicity. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>