summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-04-01v4l2-common: add explicit v4l2_device pointer as first arg to ↵Hans Verkuil
new_(probed)_subdev From: Hans Verkuil <hverkuil@xs4all.nl> The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on i2c_get_adapdata to return the v4l2_device. However, this is not always possible on embedded platforms. So modify the API to pass the v4l2_device pointer explicitly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l2: use old-style i2c API for kernels < 2.6.26 instead of < 2.6.22Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Originally the intention was to switch to the new style i2c API starting with the introduction of the API in 2.6.22. However, the i2c_new_probed_device() function has a lethal bug that wasn't fixed until 2.6.25. Or more accurately, it was only fixed in the stable series of 2.6.25 and 2.6.26. Given the fact that the new i2c API also changed starting with 2.6.26 (the addition of i2c_device_id), it is easiest to switch APIs starting with 2.6.26. This patch updates all the legacy code accordingly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l2: remove legacy fields in v4l2-i2c-drv.h.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-subdev: move s_std from tuner to core.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> s_std didn't belong in the tuner ops. Stricly speaking it should be part of the video ops, but it is used by audio and tuner devices as well, so it is more efficient to make it part of the core ops. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l2-subdev: add load_fw and use that instead of abusing core->init.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The init callback was used in several places to load firmware. Make a separate load_fw callback for that. This makes the code a lot more understandable. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-subdev: move s_standby from core to tuner.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> s_standby is only used to put the tuner in powersaving mode, so move it from core to tuner. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-common: remove legacy codeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Now that all drivers are converted to v4l2_subdev we can remove legacy code in v4l2-common. Also move the documentation of the internal API to v4l2-subdev.h where it really belongs. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29v4l: remove obsolete header and sourceHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> v4l2-subdev.c and v4l2-i2c-drv-legacy.h were used to support the old i2c API. All v4l drivers are now converted to v4l2_subdev, so these two files can be removed. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29tvaudio: remove i2c legacy codeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use tvaudio now use v4l2_subdev, so we can remove the legacy code from tvaudio. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01tuner: remove i2c legacy code.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use the tuner module now use v4l2_subdev, so we can remove the legacy code from this module. Note that TUNER_SET_CONFIG is still called by tuner-simple.c, so we have to handle it via a .command callback. There must be a better way to do this, but for now this will work. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29tvp5150: remove i2c legacy code.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use tvp5150 now use v4l2_subdev, so we can remove the legacy code from tvp5150. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29saa7115: remove i2c legacy codeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use saa7115 now use v4l2_subdev, so we can remove the legacy code from saa7115. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29msp3400: remove i2c legacy codeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use msp3400 now use v4l2_subdev, so we can remove the legacy code from msp3400. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-31em28xx: convert to v4l2_subdevDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@redhat.com> Converted em28xx driver to v4l2_subdev. Thanks to Hans Verkuil <hverkuil@xs4all.nl> for helping this conversion. Priority: normal Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-31merge: http://linuxtv.org/hg/~gliakhovetski/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-31ov772x: add edge contrl supportGuennadi Liakhovetski
From: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/ov772x.c | 63 +++++++++++++++++++++++++++++++++++++++-- include/media/ov772x.h | 35 +++++++++++++++++++++++ 2 files changed, 94 insertions(+), 4 deletions(-)
2009-03-31mt9m001: fix advertised pixel clock polarityGuennadi Liakhovetski
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> MT9M001 datasheet says, that the data is ready on the falling edge of the pixel clock, but the driver wrongly sets the SOCAM_PCLK_SAMPLE_RISING flag. Changing this doesn't seem to produce any visible difference, still, it is better to comply to the datasheet. Reported-by: Sascha Oppermann <oppermann@garage-computers.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/mt9m001.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
2009-03-31soc-camera: fix breakage caused by 1fa5ae857bb14f6046205171d98506d8112dd74eGuennadi Liakhovetski
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> soc-camera re-uses struct devices multiple times in calls to device_register(), therefore it has to reset the embedded struct kobject to avoid the "tried to init an initialized object" error, which then also erases its name. Now with the transition to kobject's name for device names, we have to re-initialise the name before each call to device_register(). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/soc_camera.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
2009-03-31ov772x: wrong pointer for soc_camera_link is modifiedGuennadi Liakhovetski
From: Kuninori Morimoto <morimoto.kuninori@renesas.com> priv->client->dev.platrom_data mean ov772x_camera_info in ov772x driver. So, struct soc_camera_link doesn't exist there. This patch modify this bug. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/ov772x.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
2009-03-31pxa-camera: simplify the .buf_queue path by merging two loopsGuennadi Liakhovetski
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> pxa_dma_update_sg_tail() is called only once, runs exactly the same loop as the caller and has to recalculate the last element in an sg-list, that the caller has already calculated. Eliminate redundancy by merging the two loops and re-using the calculated pointer. This also saves a bit of performance which is always good during video-capture. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> --- drivers/media/video/pxa_camera.c | 20 ++++++-------------- 1 files changed, 6 insertions(+), 14 deletions(-)
2009-03-31pxa_camera: Fix overrun condition on last bufferGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> The last buffer queued will often overrun, as the DMA chain is finished, and the time the dma irq handler is activated, the QCI fifos are filled by the sensor. The fix is to ignore the overrun condition on the last queued buffer, and restart the capture only on intermediate buffers of the chain. Moreover, a fix was added to the very unlikely condition where in YUV422P mode, one channel overruns while another completes at the very same time. The capture is restarted after the overrun as before, but the other channel completion is now ignored. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/pxa_camera.c | 25 ++++++++++++++++++++----- 1 files changed, 20 insertions(+), 5 deletions(-)
2009-03-31pxa_camera: Redesign DMA handlingGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> The DMA transfers in pxa_camera showed some weaknesses in multiple queued buffers context : - poll/select problem The bug shows up with capture_example tool from v4l2 hg tree. The process just "stalls" on a "select timeout". - multiple buffers DMA starting When multiple buffers were queued, the DMA channels were always started right away. This is not optimal, as a special case appears when the first EOF was not yet reached, and the DMA channels were prematurely started. - Maintainability DMA code was a bit obfuscated. Rationalize the code to be easily maintainable by anyone. - DMA hot chaining DMA is not stopped anymore to queue a buffer, the buffer is queued with DMA running. As a tribute, a corner case exists where chaining happens while DMA finishes the chain, and the capture is restarted to deal with the missed link buffer. This patch attemps to address these issues / improvements. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- Documentation/video4linux/pxa_camera.txt | 125 ++++++++++++ drivers/media/video/pxa_camera.c | 319 ++++++++++++++++++------------ 2 files changed, 316 insertions(+), 128 deletions(-) create mode 100644 Documentation/video4linux/pxa_camera.txt
2009-03-31pxa_camera: Remove YUV planar formats holeGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> All planes were PAGE aligned (ie. 4096 bytes aligned). This is not consistent with YUV422 format, which requires Y, U and V planes glued together. The new implementation forces the alignement on 8 bytes (DMA requirement), which is almost always the case (granted by width x height being a multiple of 8). The test cases include tests in both YUV422 and RGB565 : - a picture of size 111 x 111 (cross RAM pages example) - a picture of size 1023 x 4 in (under 1 RAM page) - a picture of size 1024 x 4 in (exactly 1 RAM page) - a picture of size 1025 x 4 in (over 1 RAM page) - a picture of size 1280 x 1024 (many RAM pages) Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/pxa_camera.c | 145 +++++++++++++++++++++++++++---------- 1 files changed, 106 insertions(+), 39 deletions(-)
2009-03-31pxa_camera: Enforce YUV422P frame sizes to be 16 multiplesGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> Due to DMA constraints, the DMA chain always transfers bytes from the QCI fifos to memory in 8 bytes units. In planar formats, that could mean 0 padding between Y and U plane (and between U and V plane), which is against YUV422P standard. Therefore, a frame size is required to be a multiple of 16 (so U plane size is a multiple of 8). It is enforced in try_fmt() and set_fmt() primitives, be aligning height then width on 4 multiples as need be, to reach a 16 multiple. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/pxa_camera.c | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 deletions(-)
2009-03-30fix misspelling of kconfig optionMauro Carvalho Chehab
From: Kyle McMartin <kyle@mcmartin.ca> CUSTOMISE appears to be the one actually defined... Signed-off-by: Kyle McMartin <kyle@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30msp3400: use the V4L2 header since no V4L1 code is thereMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30cx88: Fix compilation breakage for kernels older than 2.6.22Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30saa7191: tuner ops wasn't set.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The tuner ops pointer wasn't set, so s_std never worked here. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30cx25840: fix 'unused variable' warning.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30au8522: remove unused I2C_DRIVERIDHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> I2C_DRIVERIDs are no longer needed with v4l2_subdev and will be removed from the kernel soon. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-29merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-cx88Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-cx23885Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: http://linuxtv.org/hg/~pinchartl/uvcvideo/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: http://linuxtv.org/hg/~pb/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30v4l2-subdev: add enum_framesizes and enum_frameintervals.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> These callbacks are needed for omap. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30tuner: remove V4L1 code from this driver.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> No i2c modules are called with the V4L1 API anymore, so this can be removed. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l: replace 'ioctl' references in v4l i2c driversHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Replace 'VIDIOC_' references in v4l i2c drivers by their new v4l2_subdev callback names. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30cx18: remove intermediate 'ioctl' stepHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The audio and vbi parts still used an 'ioctl'-like interface. Replace this with normal functions. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Andy Walls <awalls@radix.net>
2009-03-30cx25840: cleanup: remove intermediate 'ioctl' stepHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The audio and vbi functions where still called through an ioctl-like interface, even though this is no longer needed with v4l2-subdev. Just change each 'case' into a proper function and call that directly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29cx88: prevent probing rtc and ir devicesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> tuner-core.c contains a hack for cx88 board to prevent probing of certain addresses: /* HACK: Ignore 0x6b and 0x6f on cx88 boards. * FusionHDTV5 RT Gold has an ir receiver at 0x6b * and an RTC at 0x6f which can get corrupted if probed. */ With the new i2c API this hack no longer works. So instead change the list of tuner probe addresses in the cx88 driver itself, which is much more clean. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29v4l2: remove v4l2_subdev_command calls where they are no longer needed.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Several i2c drivers still used v4l2_subdev_command, even though they were converted to v4l2_subdev. Remove those unused .command callbacks. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29Add Elgato EyeTV DTT to dibcom driverPatrick Boettcher
From: Klaus Flittner <klaus@flittner.org> This patch introduces support for DVB-T for the following dibcom based card: Elgato EyeTV DTT (USB-ID: 0fd9:0021) Priority: normal Signed-off-by: Klaus Flittner <klaus@flittner.org> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2009-03-29tda7432: remove legacy code for old-style i2c APIHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> tda7432 is no longer used with the old-style i2c API, so I can remove the support for that. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29tda9875: remove legacy code for old-style i2c APIHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> tda9875 is no longer used with the old-style i2c API, so I can remove the support for that. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29cx25840: remove legacy code for old-style i2c APIHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use cx25840 are now converted to v4l2_subdev, so I can remove the support for the old-style i2c API. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29wm8775: remove legacy code for old-style i2c APIHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All drivers that use wm8775 are now converted to v4l2_subdev, so I can remove the support for the old-style i2c API. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29Patch for Yuan MC770 DVB-T (1164:0871)Patrick Boettcher
From: Xoan Loureiro <x04n2.0@gmail.com> This patch adds support for the Yuan MC770 DVB-T (1164:0871). Thanks to Xoan Loureiro. Priority: normal Signed-off-by: Xoan Loureiro <x04n2.0@gmail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2009-03-29cx88: convert to v4l2_subdev.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Convert cx88 to use v4l2_subdev since the old i2c autoprobing mechanism will be removed. Added code to explicitly load tvaudio where needed. Also fix the rtc-isl1208 support: since that driver no longer supports autoprobing it has to be loaded using the new i2c API. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 2/2Patrick Boettcher
From: Uwe Bugla <uwe.bugla@gmx.de> This is the second part of the code cleanup changing the usb and pci-driver cores. Priority: normal Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>