summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
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-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-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-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-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-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-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-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-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-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-29Fix buglets in v4l1 compatibility layerMauro Carvalho Chehab
From: Russell King <rmk@arm.linux.org.uk> The following patch fixes a few bugs I've noticed in the V4L1 compatibility layer: - VIDEO_MODE_AUTO for get/set input ioctls was not being handled - wrong V4L2 ioctl being used in v4l1_compat_select_tuner Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29cx23885: convert to v4l2_subdev.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Convert this driver to v4l2_subdev. Note that currently the only card with analog support in this driver is the HVR-1800. The analog tuner support in this driver is limited to what is needed for this board. When analog support is added for other cards, then the tuner load code will probably have to be expanded to take care of those boards. For example, there is currently no support for either radio tuners or tda9887 demods. I'd like to thank Steven Toth for testing this on his HVR-1800. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Tested-by: Steven Toth <stoth@linuxtv.org>
2009-03-29saa6588: remove legacy code.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> saa6588 is now only used through v4l2_subdev, so we can remove the old legacy code. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29saa7134: add RDS support.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The Terratec Cinergy 600 TV MK3 supports the RDS decoder saa6588. Add support to saa7134 for such devices. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29bttv: move saa6588 config to the helper chip configHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> saa6588 can also be used by other drivers than just bttv. Move it to a new RDS decoders category and add it as helper chip to bttv. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-bttvMauro 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/~tap/v4l-dvbMauro 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-dvbMauro 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/~mkrufky/tunerMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: v4l-dvbJean-Francois Moine
2009-03-28zr364xx: Remove code for things already done by video_ioctl2Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. Checking the buffer type can be removed from zr364xx_vidioc_(s|g|try|enum)_fmt_vid_cap(). The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code can be removed from zr364xx_vidioc_querycap(), zr364xx_vidioc_enum_input(), zr364xx_vidioc_enum_fmt_vid_cap(), and zr364xx_vidioc_g_fmt_vid_cap(). Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Antoine Jacquet <royale@zerezo.com>
2009-03-28usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbufTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)buf() and vidioc_reqbufs(). Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be removed from vidioc_reqbufs(), vidioc_qbuf(), and vidioc_dqbuf(). The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. So setting the buffer type in vidioc_enum_fmt_vid_cap() can be removed. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28meye: Remove buffer type checks from XXX_fmt_vid_cap, XXXbufTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs() and vidioc_reqbufs(). Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be removed from vidioc_reqbufs(), vidioc_querybuf(), vidioc_qbuf(), and vidioc_dqbuf(). Also, the buffer index is unsigned so it's not necessary to check if it is less than zero. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_capTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the 'type' field since it must already be set to VIDEO_CAPTURE. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28cx23885-417: Don't need to zero ioctl parameter fieldsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from enum_input, g_tuner, g_frequency, querycap, enum_fmt_vid_cap, g_fmt_vid_cap, and try_fmt_vid_cap. The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. There also appeared to be a copy and paste error in vidioc_try_fmt_vid_cap() that would set f->fmt.pix.sizeimage to zero. Note that the s_fmt_vid_cap method doesn't appear to actually do anything. Whatever parameters were requested are just silently ignored. Was this intentional? Who knows, as the commit log entry for the driver just says, "Add generic cx23417 hardware encoder support." There are no docs. A comment like "this driver totally ignores the v4l2 spec w.r.t. VIDIOC_S_FMT because ..." would have gone a long way. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Steven Toth <stoth@hauppauge.com>
2009-03-28cafe_ccic: Remove buffer type check from XXXbufTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs() and vidioc_reqbufs(). This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with cafe_vidioc_reqbufs(), cafe_vidioc_querybuf(), cafe_vidioc_qbuf(), and cafe_vidioc_dqbuf(). The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. So the check in cafe_vidioc_enum_fmt_vid_cap() can be removed. The 'index' field of v4l2_buffer is unsigned so the checks for it being less than zero can be removed too. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28vino: Remove code for things already done by video_ioctl2Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used in vidioc_(g|s)_parm, vidioc_(q|dq|query)buf, and vidioc_reqbufs. Remove buffer type checking from vino_g_parm(), vino_s_parm(), vino_reqbufs(), vino_querybuf(), vino_qbuf(), and vino_dqbuf(). This reduced the indent level of the code so a few lines can be wrapped better. Also fixed the C++ type comments. The v4l2-ioctl core also provides structs that have been pre-zeroed for all fields that driver is supposed to fill in, so remove zeroing code from vino_enum_fmt_vid_cap(). Also, the format index is unsigned so it's not necessary to check if it's less than zero. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28stkwebcam: Remove buffer type check from g_parm and q/dq/reqbufsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs(), vidioc_reqbufs() and now vidioc_(s|g)_parm. This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with vidioc_g_parm(), vidioc_qbuf(), vidioc_dqbuf(), and vidioc_reqbufs(). Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Jaime Velasco Juan <jsagarribay@gmail.com>
2009-03-28omap24xxcam: Remove buffer type check from vidioc_s/g_parmTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core now only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used in vidioc_(g|s)_parm. This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with vidioc_s_parm() and vidioc_g_parm(). Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Sakari Ailus <sakari.ailus@nokia.com>
2009-03-28gspca: Stop setting buffer type, and avoid memset in querycapTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core checks the buffer type now by only allowing buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined. This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with vidioc_g_parm. Also, ->vidioc_enum_fmt_vid_cap() is only called for VIDEO_CAPTURE buffers. There is no need to set the buffer type since it must already be the correct value. The struct which ->vidioc_querycap() is supposed to fill in is already zeroed so it's not necessary to call memset on it. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Jean-Francois Moine <moinejf@free.fr>
2009-03-28bttv: Remove buffer type check from vidioc_g_parmTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs(), vidioc_reqbufs() and now vidioc_(s|g)_parm. The driver was only allowing VIDEO_CAPTURE buffers for g_parm, but since the driver defines ->vidioc_try_fmt_vid_overlay() and ->vidioc_try_fmt_vbi_cap() it will now allow VIDEO_OVERLAY and VBI_CAPTURE buffers as well. This should be fine as the driver only fills in the frame rate field, which is just as valid for video overlay and vbi capture as it is for video capture. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28v4l2-ioctl: Check format for S_PARM and G_PARMTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Return EINVAL if VIDIOC_S/G_PARM is called for a buffer type that the driver doesn't define a ->vidioc_try_fmt_XXX() method for. Several other ioctls, like QUERYBUF, QBUF, and DQBUF, etc. do this too. It saves each driver from having to check if the buffer type is one that it supports. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-28tuner: prevent invalid initialization of t->config in set_typeMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Drivers that don't set "config" directly in the set_type function will end up with an invalid configuration value. Check that the value is sane, otherwise initialize to 0. Thanks to James Edward Geiger & Steven Toth for reporting this bug. Priority: high Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Cc: Steven Toth <stoth@linuxtv.org> Cc: James Edward Geiger <james.e.geiger@gmail.com>