GitHub/exynos8895/android_kernel_samsung_universal8895.git
11 years ago[media] go7007: add support for ADS Tech DVD Xpress DX2
Hans Verkuil [Sun, 17 Mar 2013 13:15:03 +0000 (10:15 -0300)]
[media] go7007: add support for ADS Tech DVD Xpress DX2

Taken from the 0.9.8-5 version of the out-of-tree wis-go7007 driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] tw9906: add Techwell tw9906 video decoder
Hans Verkuil [Sun, 17 Mar 2013 12:26:40 +0000 (09:26 -0300)]
[media] tw9906: add Techwell tw9906 video decoder

Taken from the 0.9.8-5 version of the out-of-tree wis-go7007 driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: drop firmware name in board config, make configs const
Hans Verkuil [Sun, 17 Mar 2013 13:56:20 +0000 (10:56 -0300)]
[media] go7007: drop firmware name in board config, make configs const

The firmware is always the same, so drop it from the board configs. Also make
the board configs const.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: correct a header check: MPEG4 has a different GOP code
Hans Verkuil [Sun, 17 Mar 2013 13:11:32 +0000 (10:11 -0300)]
[media] go7007: correct a header check: MPEG4 has a different GOP code

Actually it's called "Group of VOP" start code in MPEG4 terminology.
Taken from the 0.9.8-5 version of the out-of-tree wis-go7007 driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: add back 'repeat sequence header' control
Hans Verkuil [Sun, 17 Mar 2013 13:47:02 +0000 (10:47 -0300)]
[media] go7007: add back 'repeat sequence header' control

But now as a proper standard MPEG control.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: Restore b_frame control
Volokh Konstantin [Sun, 17 Mar 2013 10:16:37 +0000 (07:16 -0300)]
[media] go7007: Restore b_frame control

Signed-off-by: Volokh Konstantin <volokh84@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: a small improvement to querystd handling
Hans Verkuil [Mon, 11 Mar 2013 21:58:21 +0000 (18:58 -0300)]
[media] go7007: a small improvement to querystd handling

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] MAINTAINERS: add the go7007 driver
Hans Verkuil [Sat, 9 Mar 2013 15:59:44 +0000 (12:59 -0300)]
[media] MAINTAINERS: add the go7007 driver

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007-loader: add support for the other devices and move fw files
Hans Verkuil [Mon, 11 Mar 2013 09:45:14 +0000 (06:45 -0300)]
[media] go7007-loader: add support for the other devices and move fw files

Add support for the other devices that need to load the boot firmware.
All firmware files are now placed in a single go7007 directory.
Also remove the device_extension_s stuff: this is clearly a left-over from
the olden days.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007-loader: renamed from s2250-loader
Hans Verkuil [Sat, 9 Mar 2013 16:28:39 +0000 (13:28 -0300)]
[media] go7007-loader: renamed from s2250-loader

All s2250 names are renamed to go7007. This will be the generic go7007
firmware loader for any go7007 device, not just for the s2250/1.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s2250: add comment describing the hardware
Hans Verkuil [Thu, 7 Mar 2013 07:58:35 +0000 (04:58 -0300)]
[media] s2250: add comment describing the hardware

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: remove cropping functions
Hans Verkuil [Sat, 9 Mar 2013 15:10:35 +0000 (12:10 -0300)]
[media] go7007: remove cropping functions

Remove these dummy cropping functions: cropping was never implemented.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: embed struct video_device
Hans Verkuil [Mon, 11 Mar 2013 09:34:22 +0000 (06:34 -0300)]
[media] go7007: embed struct video_device

Do not allocate it, but just embed in the go7007 struct.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: convert to core locking and vb2
Hans Verkuil [Mon, 11 Mar 2013 09:52:27 +0000 (06:52 -0300)]
[media] go7007: convert to core locking and vb2

Convert this driver to videobuf2 and core locking.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: drop struct go7007_file
Hans Verkuil [Mon, 11 Mar 2013 09:18:20 +0000 (06:18 -0300)]
[media] go7007: drop struct go7007_file

Remove struct go7007_file: all fields contained in that struct are moved to
the go7007 struct since they are really global values. The lock has just
been deleted (what's the point of a per-fh lock??).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: set up the saa7115 audio clock correctly
Hans Verkuil [Mon, 11 Mar 2013 09:12:10 +0000 (06:12 -0300)]
[media] go7007: set up the saa7115 audio clock correctly

The s_crystal_freq operation has to be called for the saa7115 to
set up the audio clock correctly.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: simplify the PX-TV402U board ID handling
Hans Verkuil [Mon, 11 Mar 2013 09:11:03 +0000 (06:11 -0300)]
[media] go7007: simplify the PX-TV402U board ID handling

There really is no need to split out the board IDs for each tuner.
That's what the tuner_type is for, after all.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: standardize MPEG handling support
Hans Verkuil [Mon, 11 Mar 2013 08:58:55 +0000 (05:58 -0300)]
[media] go7007: standardize MPEG handling support

The go7007 produces elementary streams, so we shouldn't use the STREAM_TYPE
control, since that is for multiplexed streams.
Instead use V4L2_PIX_FMT_MPEG1/2/4.
Initially set up all the values for MPEG-2 dvd-mode, and select the dvd_mode
field if those values match that setup precisely.
Clean up lots of obsolete code relating to the custom ioctls for the MPEG
support.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: tuner/std related fixes
Hans Verkuil [Mon, 11 Mar 2013 08:50:21 +0000 (05:50 -0300)]
[media] go7007: tuner/std related fixes

- The Adlink is initially detected as a sensor board, so the driver config
  is set up as if it was a sensor. Later the driver discovers that it really
  is a video capture card and that means that the driver configuration has
  to be updated for a PAL/NTSC capture card.
- Setup the correct initial std based on the TV tuner type.
- Remember the exact std the user selected, don't map it to STD_PAL or NTSC.
- Use v4l2_disable_ioctl to disable ioctls based on the board config and
  drop a lot of checking code in each of those ioctls since that is no longer
  needed.
- enum_input should use tvnorms to fill its std field.
- configure the input, std and initial tuner frequency at driver initialization.
- fix std handling in the s2250 driver.
- the code handling scaling for devices without a scaler was broken. This is
  now fixed.
- correctly set readbuffers and capability in g/s_parm.
- remove the bogus test for capturemode in s_parm.
- correctly implement enum_framesizes/intervals.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: add log_status support
Hans Verkuil [Sat, 9 Mar 2013 14:25:09 +0000 (11:25 -0300)]
[media] go7007: add log_status support

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: add prio and control event support
Hans Verkuil [Sat, 9 Mar 2013 14:08:41 +0000 (11:08 -0300)]
[media] go7007: add prio and control event support

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s2250: convert to the control framework
Hans Verkuil [Sun, 3 Mar 2013 13:50:34 +0000 (10:50 -0300)]
[media] s2250: convert to the control framework

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: convert to the control framework and remove obsolete JPEGCOMP support
Hans Verkuil [Mon, 11 Mar 2013 08:19:59 +0000 (05:19 -0300)]
[media] go7007: convert to the control framework and remove obsolete JPEGCOMP support

Just add a read-only V4L2_CID_JPEG_ACTIVE_MARKER control to replace
the JPEGCOMP support.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: fix unregister/disconnect handling
Hans Verkuil [Mon, 11 Mar 2013 07:48:30 +0000 (04:48 -0300)]
[media] go7007: fix unregister/disconnect handling

- use the v4l2_device's release() callback
- remove the unnecessary ref_count
- don't free usb data structures on disconnect, only do that in the final
  release callback.
This is the correct way in order to safely handle disconnect and removal
of modules.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: remember boot firmware
Hans Verkuil [Sat, 9 Mar 2013 13:37:52 +0000 (10:37 -0300)]
[media] go7007: remember boot firmware

Don't load it everytime you stop encoding. Instead remember it.
Another reason for not loading it every time is that this could
be called from within the release() file operation, which turns
out to be deadly.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: fix DMA related errors
Hans Verkuil [Sat, 9 Mar 2013 12:59:16 +0000 (09:59 -0300)]
[media] go7007: fix DMA related errors

- Don't pass data allocated on the stack to usb_control_msg.
- Use dma_mapping_error after calling dma_map_page().

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: remove current_norm
Hans Verkuil [Sun, 17 Feb 2013 12:06:27 +0000 (09:06 -0300)]
[media] go7007: remove current_norm

It's deprecated and replaced by g_std. Since this driver already implements
g_std the use of current_norm can just be removed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: go7007: add device_caps and bus_info support to querycap
Hans Verkuil [Sat, 9 Mar 2013 12:38:03 +0000 (09:38 -0300)]
[media] go7007: go7007: add device_caps and bus_info support to querycap

And don't set the version field, the core does that for you.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s2250-loader: use usbv2_cypress_load_firmware
Hans Verkuil [Sat, 9 Mar 2013 12:35:07 +0000 (09:35 -0300)]
[media] s2250-loader: use usbv2_cypress_load_firmware

The v2 of this function doesn't do DMA to objects on the stack like
its predecessor does.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: add audio input ioctls
Hans Verkuil [Sat, 9 Mar 2013 16:19:08 +0000 (13:19 -0300)]
[media] go7007: add audio input ioctls

Since we now know what audio inputs there are, we can also get/set and
enumerate them.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: remove all wis* drivers
Hans Verkuil [Sat, 9 Mar 2013 12:27:54 +0000 (09:27 -0300)]
[media] go7007: remove all wis* drivers

These are now no longer used and so they can be removed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: switch to standard tuner/i2c subdevs
Hans Verkuil [Sat, 9 Mar 2013 12:25:47 +0000 (09:25 -0300)]
[media] go7007: switch to standard tuner/i2c subdevs

Instead of using the wis-* drivers we now use the standard 'proper' subdev
drivers.
The board configuration tables now also list the possible audio inputs,
this will be used later to implement audio inputs.
Special mention deserves a little change in set_capture_size() where the
height passed to s_mbus_fmt is doubled: that is because the saa7115 driver
expects to see the frame height, not the field height as the wis_saa7115
driver did.
Another change is that the tuner input is moved from last to the first
input, which is consistent with the common practice in other video drivers.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: i2c initialization changes for tw2804
Volokh Konstantin [Sat, 9 Mar 2013 11:48:25 +0000 (08:48 -0300)]
[media] go7007: i2c initialization changes for tw2804

Do i2c initialization via struct item as tw2804 has a 0x00 i2c address,
so we need to use the I2C_CLIENT_TEN flag for validity.

Signed-off-by: Volokh Konstantin <volokh84@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] tw2804: modify ADC power control
Volokh Konstantin [Wed, 22 Aug 2012 10:45:15 +0000 (07:45 -0300)]
[media] tw2804: modify ADC power control

Switch off all ADC (max 4) with first init, we control it
when starting/stopping streaming.

Signed-off-by: Volokh Konstantin <volokh84@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] tw2804: add support for the Techwell tw2804
Hans Verkuil [Sat, 9 Mar 2013 11:06:07 +0000 (08:06 -0300)]
[media] tw2804: add support for the Techwell tw2804

This is based on the wis-tw2804.c driver that's part of the go7007 driver.
It has been converted to a v4l subdev driver by Volokh Konstantin, and I
made additional cleanups.
Based on work by: Volokh Konstantin <volokh84@gmail.com>

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] tw9903: add new tw9903 video decoder
Hans Verkuil [Mon, 18 Mar 2013 07:10:56 +0000 (04:10 -0300)]
[media] tw9903: add new tw9903 video decoder

This based on the wis-tw9903.c driver that's part of the go7007 driver.
It has been converted to a v4l subdev driver by Pete Eberlein, and I made
additional cleanups.
Based on work by: Pete Eberlein <pete@sensoray.com>

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] uda1342: add new uda1342 audio codec driver
Hans Verkuil [Sat, 9 Mar 2013 10:20:12 +0000 (07:20 -0300)]
[media] uda1342: add new uda1342 audio codec driver

This based on the wis-uda1342.c driver that's part of the go7007 driver.
It has been converted to a v4l subdev driver by Pete Eberlein, and I made
additional cleanups.
Based on work by: Pete Eberlein <pete@sensoray.com>

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ov7640: add new ov7640 driver
Hans Verkuil [Sat, 9 Mar 2013 10:09:18 +0000 (07:09 -0300)]
[media] ov7640: add new ov7640 driver

This based on the wis-ov7640.c driver that's part of the go7007 driver.
It has been converted to a v4l subdev driver by Pete Eberlein, and I made
additional cleanups.
Based on work by: Pete Eberlein <pete@sensoray.com>

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] sony-btf-mpx: the MPX driver for the sony BTF PAL/SECAM tuner
Hans Verkuil [Fri, 22 Mar 2013 14:13:58 +0000 (11:13 -0300)]
[media] sony-btf-mpx: the MPX driver for the sony BTF PAL/SECAM tuner

The Sony BTF PG472Z has an internal MPX to deal with mono/stereo/bilingual
audio. This is split off from the wis-sony-tuner driver that is part of
the go7007 driver as it should be a separate i2c sub-device driver.
The wis-sony-tuner is really three i2c devices: a standard tuner, a tda9887
compatible demodulator and this mpx. After this patch the wis-sony-tuner
can be replaced by this driver and the standard tuner driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] tuner: add Sony BTF tuners
Hans Verkuil [Sat, 9 Mar 2013 16:14:32 +0000 (13:14 -0300)]
[media] tuner: add Sony BTF tuners

This adds support for three Sony BTF tuners:
TUNER_SONY_BTF_PG472Z: PAL+SECAM
TUNER_SONY_BTF_PK467Z: NTSC-M-JP
TUNER_SONY_BTF_PB463Z: NTSC-M
These come from the go7007 staging driver where they were implemented in
the wis-sony-tuner i2c driver.
Adding support for these tuners to tuner-types.c is the first step towards
removing the wis-sony-tuner driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] go7007: fix i2c_xfer return codes
Hans Verkuil [Sat, 9 Mar 2013 09:18:03 +0000 (06:18 -0300)]
[media] go7007: fix i2c_xfer return codes

The i2c_xfer functions didn't return the proper error codes and (especially
important) on success they returned 0 instead of the number of transferred
messages.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] saa7115: add support for double-rate ASCLK
Hans Verkuil [Mon, 11 Mar 2013 06:47:25 +0000 (03:47 -0300)]
[media] saa7115: add support for double-rate ASCLK

Some devices expect a double rate ASCLK. Add a flag to let the driver know
through the s_crystal_freq call.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] saa7115: improve querystd handling for the saa7115
Hans Verkuil [Sun, 10 Mar 2013 12:59:37 +0000 (09:59 -0300)]
[media] saa7115: improve querystd handling for the saa7115

The saa7115 has better PAL/NTSC detection, so it can detect PAL even
though the chip is currently set up for NTSC.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] saa7115: add config flag to change the IDQ polarity
Hans Verkuil [Fri, 8 Mar 2013 14:22:03 +0000 (11:22 -0300)]
[media] saa7115: add config flag to change the IDQ polarity

Needed by the go7007 driver: it assumes a different polarity of the IDQ
signal, so we need to be able to tell the saa7115 about this.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2-ctrls: add V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER control
Hans Verkuil [Sun, 17 Mar 2013 13:34:04 +0000 (10:34 -0300)]
[media] v4l2-ctrls: add V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER control

Control whether video sequence headers should be repeated.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2-ioctl: check if an ioctl is valid
Hans Verkuil [Sun, 10 Mar 2013 16:12:25 +0000 (13:12 -0300)]
[media] v4l2-ioctl: check if an ioctl is valid

Just checking if the op exists isn't correct, you should check if the ioctl
is valid (which implies that the op exists as well).
One exception is g_std: if current_norm is non-zero, then the g_std op may be
absent. This sort of weird behavior is one of the reasons why I am trying to
get rid of current_norm.
This patch fixes the case where the g/s_std op is set, but these ioctls are
disabled. This can happen in drivers supporting multiple models, some that
have TV input (and support the STD API) and some that have a sensor (and do
not support the STD API). In the latter case qv4l2 would still show the
Standards combobox.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2-core: add code to check for specific ops
Hans Verkuil [Sun, 3 Mar 2013 23:12:31 +0000 (20:12 -0300)]
[media] v4l2-core: add code to check for specific ops

This patch adds a v4l2_subdev_has_op() macro and a v4l2_device_has_op macro to
quickly check if a specific subdev or any subdev supports a particular subdev
operation.
This makes it easy for drivers to disable certain ioctls if none of the subdevs
supports the necessary functionality.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2-ctrls: eliminate lockdep false alarms for struct v4l2_ctrl_handler.lock
Andy Walls [Sat, 9 Mar 2013 08:55:11 +0000 (05:55 -0300)]
[media] v4l2-ctrls: eliminate lockdep false alarms for struct v4l2_ctrl_handler.lock

When calling v4l2_ctrl_add_handler(), lockdep would detect a potential
recursive locking problem on a situation that is by design intended and
not a recursive lock.  This happened because all struct
v4l2_ctrl_handler.lock mutexes were created as members of the same lock
class in v4l2_ctrl_handler_init(), and v4l2_ctrl_add_handler() takes the
hdl->lock on two different v4l2_ctrl_handler instances.
This change breaks the large lockdep lock class for struct
v4l2_ctrl_handler.lock and breaks it into v4l2_ctrl_handler
instantiation specific lock classes with meaningful class names.
This will validly eliminate lockdep alarms for v4l2_ctrl_handler locking
validation, as long as the relationships between drivers adding v4l2
controls to their own handler from other v4l2 drivers' control handlers
remains straightforward.
struct v4l2_ctrl_handler.lock lock classes are created with names such
that the output of cat /proc/lockdep indicates where in the v4l2 driver
code v4l2_ctrl_handle_init() is being called on instantiations:
ffffffffa045f490 FD:   10 BD:    8 +.+...: cx2341x:1534:(hdl)->lock
ffffffffa0497d20 FD:   12 BD:    2 +.+.+.: saa7115:1581:(hdl)->lock
ffffffffa04ac660 FD:   14 BD:    2 +.+.+.: msp3400_driver:756:(hdl)->lock
ffffffffa0484b90 FD:   12 BD:    1 +.+.+.: ivtv_gpio:366:(&itv->hdl_gpio)->lock
ffffffffa04eb530 FD:   11 BD:    2 +.+.+.: cx25840_core:1982:(&state->hdl)->lock
ffffffffa04fbc80 FD:   11 BD:    3 +.+.+.: wm8775:246:(&state->hdl)->lock
Some lock chains, that were previously causing the recursion alarms, are
now visible in the output of cat /proc/lockdep_chains:
irq_context: 0
[ffffffffa0497d20] saa7115:1581:(hdl)->lock
[ffffffffa045f490] cx2341x:1534:(hdl)->lock
irq_context: 0
[ffffffffa04ac660] msp3400_driver:756:(hdl)->lock
[ffffffffa045f490] cx2341x:1534:(hdl)->lock
irq_context: 0
[ffffffffa0484b90] ivtv_gpio:366:(&itv->hdl_gpio)->lock
[ffffffffa045f490] cx2341x:1534:(hdl)->lock
irq_context: 0
[ffffffffa04eb530] cx25840_core:1982:(&state->hdl)->lock
[ffffffffa045f490] cx2341x:1534:(hdl)->lock
irq_context: 0
[ffffffffa04fbc80] wm8775:246:(&state->hdl)->lock
[ffffffffa045f490] cx2341x:1534:(hdl)->lock

Signed-off-by: Andy Walls <awalls@md.metrocast.net>
[hans.verkuil@cisco.com: keep mutex_init in v4l2_ctrl_handler_init_class]
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] documentation: DocBook/media : Fix typo in dvbproperty.xml
Masanari Iida [Sun, 24 Mar 2013 05:25:56 +0000 (02:25 -0300)]
[media] documentation: DocBook/media : Fix typo in dvbproperty.xml

Correct spelling typos.

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2-ioctl: simplify debug code
Hans Verkuil [Thu, 14 Mar 2013 10:40:45 +0000 (07:40 -0300)]
[media] v4l2-ioctl: simplify debug code

The core debug code can now be simplified since all the write-only ioctls are
now const and will not modify the data they pass to the drivers.
So instead of logging write-only ioctls before the driver is called this can
now be done afterwards, which is cleaner when it comes to error reporting as
well.
This also fixes a logic error in the debugging code where there was one 'else'
too many.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2: add const to argument of write-only s_register ioctl
Hans Verkuil [Sun, 24 Mar 2013 11:28:46 +0000 (08:28 -0300)]
[media] v4l2: add const to argument of write-only s_register ioctl

This ioctl is defined as IOW, so pass the argument as const.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ivtv: prepare ivtv for adding const to s_register
Hans Verkuil [Sun, 24 Mar 2013 11:24:19 +0000 (08:24 -0300)]
[media] ivtv: prepare ivtv for adding const to s_register

The ivtv_itvc function receives a pointer to v4l2_dbg_register. When we
add const to that pointer in the s_register case we will run into a problem
here since this common function would discard const in that case. So
change this function so it receives the address and a pointer to a value.
In addition we now set the size field in the g_register function which is
where it belongs.
This will simplify the next patch where const will be added to s_register.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2-ioctl: add precision when printing names
Hans Verkuil [Mon, 18 Mar 2013 14:02:22 +0000 (11:02 -0300)]
[media] v4l2-ioctl: add precision when printing names

Never print more than the size of the buffer containing the name.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2: pass std by value to the write-only s_std ioctl
Hans Verkuil [Fri, 15 Mar 2013 09:10:40 +0000 (06:10 -0300)]
[media] v4l2: pass std by value to the write-only s_std ioctl

This ioctl is defined as IOW, so pass the argument by value instead of by
reference. I could have chosen to add const instead, but this is 1) easier
to handle in drivers and 2) consistent with the s_std subdev operation.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2: add const to argument of write-only s_tuner ioctl
Hans Verkuil [Fri, 15 Mar 2013 09:10:06 +0000 (06:10 -0300)]
[media] v4l2: add const to argument of write-only s_tuner ioctl

This ioctl is defined as IOW, so pass the argument as const.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] v4l2: add const to argument of write-only s_frequency ioctl
Hans Verkuil [Tue, 19 Mar 2013 07:09:26 +0000 (04:09 -0300)]
[media] v4l2: add const to argument of write-only s_frequency ioctl

This ioctl is defined as IOW, so pass the argument as const.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] drivers: staging: davinci_vpfe: use resource_size()
Silviu-Mihai Popescu [Mon, 18 Mar 2013 18:06:20 +0000 (15:06 -0300)]
[media] drivers: staging: davinci_vpfe: use resource_size()

This uses the resource_size() function instead of explicit computation.

Signed-off-by: Silviu-Mihai Popescu <silviupopescu1990@gmail.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: apply mute settings on open
Frank Schaefer [Thu, 21 Mar 2013 16:51:20 +0000 (13:51 -0300)]
[media] bttv: apply mute settings on open

Previously, this has been done implicitly for video device nodes by calling
set_input() (which calls audio_input() and also modified the mute
setting).
Since input and mute setting are now untangled (as much as possible), we need to
apply the mute setting with an explicit call to audio_mute().
Also apply the mute setting when the radio device node gets opened.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: do not unmute the device before the first open
Frank Schaefer [Thu, 21 Mar 2013 16:51:19 +0000 (13:51 -0300)]
[media] bttv: do not unmute the device before the first open

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: untangle audio input and mute setting
Frank Schaefer [Thu, 21 Mar 2013 16:51:18 +0000 (13:51 -0300)]
[media] bttv: untangle audio input and mute setting

Split function audio_mux():
move the mute setting part to function audio_mute() and the input setting part
to function audio_input().

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: separate GPIO part from function audio_mux()
Frank Schaefer [Thu, 21 Mar 2013 16:51:17 +0000 (13:51 -0300)]
[media] bttv: separate GPIO part from function audio_mux()

Move the GPIO part of function audio_mux() to a separate function
audio_mux_gpio().
This prepares the code for the next patch which will separate mute and input
setting.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: rename field 'audio' in struct 'bttv' to 'audio_input'
Frank Schaefer [Thu, 21 Mar 2013 16:51:16 +0000 (13:51 -0300)]
[media] bttv: rename field 'audio' in struct 'bttv' to 'audio_input'

'audio_input' better describes the meaning of this field.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: do not save the audio input in audio_mux()
Frank Schaefer [Thu, 21 Mar 2013 16:51:15 +0000 (13:51 -0300)]
[media] bttv: do not save the audio input in audio_mux()

We can't and do not save the mute setting in function audio_mux(), so we
should also not save the input in this function for consistency.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: audio_mux(): do not change the value of the v4l2 mute control
Frank Schaefer [Thu, 21 Mar 2013 16:51:14 +0000 (13:51 -0300)]
[media] bttv: audio_mux(): do not change the value of the v4l2 mute control

There are cases where we want to call audio_mux() without changing the value of
the v4l2 mute control, for example
- mute mute on last close
- mute on device probing

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] bttv: audio_mux(): use a local variable "gpio_mute" instead of modifying...
Frank Schaefer [Thu, 21 Mar 2013 16:51:13 +0000 (13:51 -0300)]
[media] bttv: audio_mux(): use a local variable "gpio_mute" instead of modifying the function parameter "mute"

Function audio_mux() actually deals with two types of mute: gpio mute and
subdevice muting.
This patch claryfies the meaning of these values, but mainly prepares the code for
the next patch.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] davinci: vpfe: fix return value check in vpfe_enable_clock()
Wei Yongjun [Mon, 11 Mar 2013 12:57:22 +0000 (09:57 -0300)]
[media] davinci: vpfe: fix return value check in vpfe_enable_clock()

In case of error, the function clk_get() returns ERR_PTR()
and never returns NULL. The NULL test in the return value
check should be replaced with IS_ERR().

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Reviewed-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] rc-core: don't treat dev->rc_map.rc_type as a bitmap
David Härdeman [Wed, 6 Mar 2013 19:52:05 +0000 (16:52 -0300)]
[media] rc-core: don't treat dev->rc_map.rc_type as a bitmap

store_protocols() treats dev->rc_map.rc_type as a bitmap which is wrong for
two reasons. First of all, it is pretty bogus to change the protocol type of
the keymap just because the hardware has been asked to decode a different
protocol.
Second, dev->rc_map.rc_type is an enum (i.e. a single protocol) as pointed
out by James Hogan <james.hogan@imgtec.com>.
Fix both issues by introducing a separate enabled_protocols member to
struct rc_dev.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb-usb/dw2102: Remove duplicate inclusion of ts2020.h
Sachin Kamat [Wed, 6 Mar 2013 08:04:26 +0000 (05:04 -0300)]
[media] dvb-usb/dw2102: Remove duplicate inclusion of ts2020.h

ts2020.h was included twice.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] [PATH] enable dual tuner to Avermedia Twinstar in af9035 driver
Jose Alberto Reguero [Sun, 10 Feb 2013 18:43:03 +0000 (15:43 -0300)]
[media] [PATH] enable dual tuner to Avermedia Twinstar in af9035 driver

This patch enable dual tuner for Avermedia Twinstar.

Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s5p-tv: remove the dv_preset API from hdmiphy
Hans Verkuil [Fri, 15 Feb 2013 18:00:20 +0000 (15:00 -0300)]
[media] s5p-tv: remove the dv_preset API from hdmiphy

The dv_preset API is deprecated and is replaced by the much improved dv_timings
API. Remove the dv_preset support from this driver as this will allow us to
remove the dv_preset API altogether (s5p-tv being the last user of this code).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Acked-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s5p-tv: remove the dv_preset API from hdmi
Hans Verkuil [Fri, 15 Feb 2013 17:59:48 +0000 (14:59 -0300)]
[media] s5p-tv: remove the dv_preset API from hdmi

The dv_preset API is deprecated and is replaced by the much improved dv_timings
API. Remove the dv_preset support from this driver as this will allow us to
remove the dv_preset API altogether (s5p-tv being the last user of this code).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Acked-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s5p-tv: remove dv_preset support from mixer_video
Hans Verkuil [Mon, 4 Mar 2013 12:32:00 +0000 (09:32 -0300)]
[media] s5p-tv: remove dv_preset support from mixer_video

The dv_preset API is deprecated and is replaced by the much improved dv_timings
API. Remove the dv_preset support from this driver as this will allow us to
remove the dv_preset API altogether (s5p-tv being the last user of this code).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Acked-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s5p-tv: add dv_timings support for mixer_video
Hans Verkuil [Mon, 4 Mar 2013 12:30:48 +0000 (09:30 -0300)]
[media] s5p-tv: add dv_timings support for mixer_video

This just adds dv_timings support without modifying existing dv_preset
support.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Acked-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s5p-tv: add dv_timings support for hdmi
Hans Verkuil [Mon, 4 Mar 2013 12:29:33 +0000 (09:29 -0300)]
[media] s5p-tv: add dv_timings support for hdmi

This just adds dv_timings support without modifying existing dv_preset
support.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Acked-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] s5p-tv: add dv_timings support for hdmiphy
Hans Verkuil [Mon, 4 Mar 2013 12:28:57 +0000 (09:28 -0300)]
[media] s5p-tv: add dv_timings support for hdmiphy

This just adds dv_timings support without modifying existing dv_preset
support, although I had to refactor a little bit in order to share
hdmiphy_find_conf() between the preset and timings code.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Acked-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] gspca: remove needless check before usb_free_coherent()
Wei Yongjun [Wed, 20 Mar 2013 14:30:46 +0000 (11:30 -0300)]
[media] gspca: remove needless check before usb_free_coherent()

usb_free_coherent() is safe with NULL addr and this check is
not required.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] drxk_hard: Drop unused parameter
Jean Delvare [Wed, 20 Mar 2013 12:43:21 +0000 (12:43 +0000)]
[media] drxk_hard: Drop unused parameter

Last parameter of function GetLockStatus() isn't used so drop it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] davinci: vpif: Fix module build for capture and display
Lad, Prabhakar [Wed, 20 Mar 2013 04:28:27 +0000 (01:28 -0300)]
[media] davinci: vpif: Fix module build for capture and display

export the symbols which are used by two modules vpif_capture and
vpif_display. renamed "ch_params" to "vpif_ch_params" so as to avoid
name collision.
This patch fixes following error:
ERROR: "ch_params" [drivers/media/platform/davinci/vpif_display.ko] undefined!
ERROR: "vpif_ch_params_count" [drivers/media/platform/davinci/vpif_display.ko] undefined!
ERROR: "vpif_base" [drivers/media/platform/davinci/vpif_display.ko] undefined!
ERROR: "ch_params" [drivers/media/platform/davinci/vpif_capture.ko] undefined!
ERROR: "vpif_ch_params_count" [drivers/media/platform/davinci/vpif_capture.ko] undefined!
ERROR: "vpif_base" [drivers/media/platform/davinci/vpif_capture.ko] undefined!
make[1]: *** [__modpost] Error 1

Reported-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] drivers/staging/media/go7007: using strlcpy instead of strncpy
Chen Gang [Wed, 20 Mar 2013 02:26:09 +0000 (23:26 -0300)]
[media] drivers/staging/media/go7007: using strlcpy instead of strncpy

for NUL terminated string, need always set 0 in the end.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] media: radio: add module alias entry for radio-si4713
Eduardo Valentin [Tue, 19 Mar 2013 14:41:34 +0000 (11:41 -0300)]
[media] media: radio: add module alias entry for radio-si4713

Add MODULE_ALIAS entry for radio-si4713 platform driver.

Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] media: radio: add driver owner entry for radio-si4713
Eduardo Valentin [Tue, 19 Mar 2013 14:41:33 +0000 (11:41 -0300)]
[media] media: radio: add driver owner entry for radio-si4713

Simple addition of platform_driver->driver->owner for radio-si4713.

Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] media: radio: correct module license (==> GPL v2)
Eduardo Valentin [Tue, 19 Mar 2013 14:41:32 +0000 (11:41 -0300)]
[media] media: radio: correct module license (==> GPL v2)

As per code header comment, changing the driver license entry
to match the correct version.

Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] media: radio: CodingStyle changes on si4713
Eduardo Valentin [Tue, 19 Mar 2013 14:41:31 +0000 (11:41 -0300)]
[media] media: radio: CodingStyle changes on si4713

Minor changes to make alignment match on open parenthesis.

Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] it913x: fix pid filter
Antti Palosaari [Sun, 10 Mar 2013 00:10:14 +0000 (21:10 -0300)]
[media] it913x: fix pid filter

I just made commit: "dvb_usb_v2: rework USB streaming logic" that
breaks that driver PID filter.
it913x driver checks use of PID filter directly from DVB USB v2 core
internal variable "adap->pid_filtering" and stores it to own state.
Calling order of .pid_filter_ctrl() and .pid_filter() was changed
and due to that state was updated too late. Update state earlier.
TODO: checking PID filter usage from DVB USB v2 is not very good idea
as PID filter callbacks are called only when PID filter is enabled.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: rework USB streaming logic
Antti Palosaari [Sat, 9 Mar 2013 19:10:55 +0000 (16:10 -0300)]
[media] dvb_usb_v2: rework USB streaming logic

Control flow order changed a little bit. HW PID filter is now
disabled also when streaming is stopped - earlier it was just
set only when streaming was started.
Control flow is now:
* set streaming status bit
* submit USB streaming packets
* enable HW PID filter
* ask device to start streaming
* N x add PID to device HW PID filter
... streaming video ...
* N x remove PID from device HW PID filter
* ask device to stop streaming
* disable HW PID filter
* kill USB streaming packets
* clear streaming status bit

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] cypress_firmware: make checkpatch.pl happy
Antti Palosaari [Sat, 9 Mar 2013 14:38:41 +0000 (11:38 -0300)]
[media] cypress_firmware: make checkpatch.pl happy

New checkpatch version likes to see strings not to split multiple
lines even those are exceeding 80 line length.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: make checkpatch.pl happy
Antti Palosaari [Sat, 9 Mar 2013 14:36:35 +0000 (11:36 -0300)]
[media] dvb_usb_v2: make checkpatch.pl happy

New checkpatch version likes to see strings not to split multiple
lines even those are exceeding 80 line length.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: replace Kernel userspace lock with wait queue
Antti Palosaari [Sat, 9 Mar 2013 03:16:32 +0000 (00:16 -0300)]
[media] dvb_usb_v2: replace Kernel userspace lock with wait queue

There was sync mutex which was held over userspace. That is very
wrong and could cause deadlock if different userspace process is
used to "unlock". Wait queue seems to be correct solution for
that kind of synchronizing issue so use it instead.
lock debug gives following bug report:
================================================
[ BUG: lock held when returning to user space! ]
3.9.0-rc1+ #38 Tainted: G           O
------------------------------------------------
tzap/4614 is leaving the kernel with locks still held!
1 lock held by tzap/4614:

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb-usb/dvb-usb-v2: use IS_ENABLED
Mauro Carvalho Chehab [Thu, 21 Mar 2013 19:29:36 +0000 (16:29 -0300)]
[media] dvb-usb/dvb-usb-v2: use IS_ENABLED

Instead of checking everywhere there for 3 symbols, use instead
IS_ENABLED macro.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] cx23885: use IS_ENABLED
Mauro Carvalho Chehab [Thu, 21 Mar 2013 19:29:08 +0000 (16:29 -0300)]
[media] cx23885: use IS_ENABLED

Instead of checking everywhere there for 3 symbols, use instead
IS_ENABLED macro.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] tuners: use IS_ENABLED
Mauro Carvalho Chehab [Thu, 21 Mar 2013 19:24:09 +0000 (16:24 -0300)]
[media] tuners: use IS_ENABLED

Instead of checking everywhere there for 3 symbols, use instead
IS_ENABLED macro.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb-frontends: use IS_ENABLED
Mauro Carvalho Chehab [Thu, 21 Mar 2013 19:11:54 +0000 (16:11 -0300)]
[media] dvb-frontends: use IS_ENABLED

Instead of checking everywhere there for 3 symbols, use instead
IS_ENABLED macro.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] hdpvr-video: Use the proper check for I2C support
Mauro Carvalho Chehab [Thu, 21 Mar 2013 18:46:18 +0000 (15:46 -0300)]
[media] hdpvr-video: Use the proper check for I2C support

As reported by Geert Uytterhoeven <geert@linux-m68k.org>:
drivers/media/usb/hdpvr/hdpvr-video.c: warning: "CONFIG_I2C_MODULE" is not defined [-Wundef]

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Thanks-to: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: make local function dvb_usb_v2_generic_io() static
Wei Yongjun [Fri, 22 Mar 2013 02:17:18 +0000 (23:17 -0300)]
[media] dvb_usb_v2: make local function dvb_usb_v2_generic_io() static

dvb_usb_v2_generic_io() was not declared. It should be static.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] em28xx: tuner setup is broken after algo_data change
Hans Verkuil [Fri, 22 Mar 2013 12:54:00 +0000 (09:54 -0300)]
[media] em28xx: tuner setup is broken after algo_data change

Commit aab3125c43d8fecc7134e5f1e729fabf4dd196da broke em28xx. I traced
this eventually to the change in what algo_data points to. This pointer
is also passed to em28xx_tuner_callback() through several hidden tuner
layers (yuck!) and that callback was not updated.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] em28xx: Only change I2C bus inside em28xx-i2c
Mauro Carvalho Chehab [Thu, 21 Mar 2013 09:03:27 +0000 (06:03 -0300)]
[media] em28xx: Only change I2C bus inside em28xx-i2c

There's currently a bug on em28xx-i2c that makes it write the
wrong values to register 06, that controlls the I2C bus speed
and bus.

Fix it to change only the I2C bus flag.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] m5602_ov7660: return error at ov7660_init()
Mauro Carvalho Chehab [Fri, 22 Mar 2013 09:51:06 +0000 (06:51 -0300)]
[media] m5602_ov7660: return error at ov7660_init()

It used to be a code that returns arror at ov7660_init.
However, this was removed by changeset c84e412f:

@@ -231,33 +116,40 @@ int ov7660_init(struct sd *sd)
        if (dump_sensor)
                ov7660_dump_registers(sd);

-   err = ov7660_set_gain(&sd->gspca_dev, sensor_settings[GAIN_IDX]);
-   if (err < 0)
-           return err;
+ return 0;
+}

-   err = ov7660_set_auto_white_balance(&sd->gspca_dev,
-           sensor_settings[AUTO_WHITE_BALANCE_IDX]);
-   if (err < 0)
-           return err;

As complained by gcc:
drivers/media/usb/gspca/m5602/m5602_ov7660.c: In function 'ov7660_init':
drivers/media/usb/gspca/m5602/m5602_ov7660.c:99:9: warning: variable 'err' set but not used [-Wunused-but-set-variable]

It should be noticed that the original error code was crappy, as it wasn't
returning any error if sensor init fails.

Fix it by returning an error if the sensor can't be initialized.

Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] siano: remove the ir protocol field
Mauro Carvalho Chehab [Fri, 22 Mar 2013 09:47:07 +0000 (06:47 -0300)]
[media] siano: remove the ir protocol field

This field is unused. Remove it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] drxk: fix CNR calculus
Mauro Carvalho Chehab [Fri, 22 Mar 2013 09:37:32 +0000 (06:37 -0300)]
[media] drxk: fix CNR calculus

Changeset 8f3741e accidentally broke the CNR estimation. It should
be calculated as "a + b - c". However, previously, the subtraction
by c only occurred if SNR would be positive, due to a bad binding
to DVBv3 API.

This also fixes the following warning:
drivers/media/dvb-frontends/drxk_hard.c:2556:6: warning: variable 'c' set but not used [-Wunused-but-set-variable]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] siano: use do_div() for 64-bits division
Mauro Carvalho Chehab [Fri, 22 Mar 2013 09:22:45 +0000 (06:22 -0300)]
[media] siano: use do_div() for 64-bits division

As reported by Frank Schäfer <fschaefer.oss@googlemail.com>:
ERROR: "__divdi3" [drivers/media/common/siano/smsdvb.ko] undefined!

Reported-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Tested-by: Gianluca Gennari <gennarone@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>