Commit graph

13494 commits

Author SHA1 Message Date
Hans de Goede
ccab75e283 [media] gspca_pac7311: Switch to coarse expo autogain algorithm
We can only control the clockdivider to control exposure on the pac7311,
making our expo control coarse, switch to an autogain algorithm optimized for
this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:14:34 -03:00
Hans de Goede
a5340ce500 [media] gspca_pac7311: Switch to new gspca control mechanism
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:13:50 -03:00
Hans de Goede
c894d26c5a [media] gspca_pac7311: Adjust control scales to match registers
Now that the pac7302 and pac7311 drivers are split, they no longer
share there control settings, so there is no need to scale the controls
to register values, instead make them reflect the registers directly.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:13:26 -03:00
Hans de Goede
51ae23df42 [media] gspca_pac7311: Make sure exposure changes get applied immediately
It turns out that the flush to sensor command needs to be done per register
bank. We were missing one such flush in set_exposure, causing exposure changes
to only show up when another setting in the same bank also got changed.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:12:53 -03:00
Hans de Goede
b053c1d0a4 [media] gspca_pac73xx: Remove comments from before the 7302 / 7311 separation
The pac7302 and pac7311 driver still contains some comments from before
they were separated, such as marking certain functions 7302 or 7311 only,
with the new split drivers these make no sense, remove them.

Also removed the empty/unused sd_stop0 function from pac7311.c

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:12:33 -03:00
Hans de Goede
a648e310df [media] gspca/autogain_functions.h: Allow users to declare what they want
Allow users of gspca/autogain_functions.h to declare which of the autogain
algoritms they are going to use. This allows us to remove the hacks from
drivers which don't use coarse_grained_expo_autogain.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:11:48 -03:00
Hans de Goede
4fd466a130 [media] stk-webcam: Don't flip the image by default
Prior to this patch the stk-webcam driver was enabling the vflip and mirror
bits in the sensor by default. Which only is the right thing to do if the
sensor is actually mounted upside down, which it usually is not.

Actually we've received upside down reports for both usb-ids which this
driver supports, one for an "ASUSTeK Computer Inc." "A3H" laptop with
a build in 174f:a311 webcam, and one for an "To Be Filled By O.E.M."
"Z96FM" laptop with a build in 05e1:0501 webcam.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 16:11:03 -03:00
Hans Verkuil
4bd9ff1970 [media] radio-mr800: add hardware seek support
Added hardware seek support based on information gleaned from the
GPLv2 driver available here:
http://sourceforge.net/projects/av-usbradio/

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 15:29:40 -03:00
Hans Verkuil
77cf393434 [media] radio-mr800: add support for stereo and signal detection
Thanks to an older driver by Faidon Liambotis <paravoid@debian.org> (as noted
in the radio-mr800 comment block at the start) for figuring out how to get the
signal/stereo state.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 15:29:10 -03:00
Hans Verkuil
85578b0fdc [media] radio-mr800: cleanup and have it comply to the V4L2 API
Implement the control framework and update to the latest V4L2 framework.
The v4l2-compliance tool now runs without errors.
Fixed bad g/s_tuner handling with respect to mono/stereo.
Support control events.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 15:28:45 -03:00
Hans Verkuil
f61861fa56 [media] radio-isa: fix memory leak
If there is an error when creating controls the v4l2_ctrl_handler_free
function must be called.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 15:23:31 -03:00
Hans Verkuil
ff27cda340 [media] radio-keene: support suspend/resume
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-07 15:23:17 -03:00
Hans Verkuil
37481fcacb [media] ivtv: set max/step to 0 for PTS and FRAME controls
When creating 64 bit integer controls make sure the max and step
values are 0 (as 64 bit controls do not have ranges).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-04 15:06:19 -03:00
Hans Verkuil
5d778648ed [media] dsbr100: clean up and update to the latest v4l2 framework
This driver now complies with the v4l2-compliance tests and uses the v4l2
frameworks correctly.

It has been tested with the radio-keene FM transmitter as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-04 15:01:14 -03:00
Jean-François Moine
a1ac5dc28d [media] gspca - sn9c20x: Change the exposure setting of Omnivision sensors
The exposure of Omnivision sensors is defined by the registers 07, 10 and 04.
This patch updates the registers 10 and 04 before using the registers 2d
and 2e (dummy lines).

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:56 -03:00
Jean-François Moine
4fb8137c43 [media] gspca - sn9c20x: Don't do sensor update before the capture is started
Telling the bridge to update the sensor when setting the exposure or the gain
is not needed when the image transfer is not started.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:56 -03:00
Jean-François Moine
c4407fe86d [media] gspca - sn9c20x: Set the i2c interface speed
The i2c interface speed was set to 400 Kb/s while it is 100 Kb/s
for most sensors.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:55 -03:00
Jean-François Moine
dae1de645e [media] gspca - sn9c20x: Define more tables as constant
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:54 -03:00
Jean-François Moine
bed37388cf [media] gspca - sn9c20x: Add the sensor mt9vprb to the sensor ident table
The table did not contain the sensor mt9vprb.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:53 -03:00
Jean-François Moine
9637c65225 [media] gspca - sn9c20x: Change the number of the sensor mt9vprb
This avoid skips in switch statements.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:52 -03:00
Jean-François Moine
193d0a510d [media] gspca - ov519: Add more information about probe problems
The error messages in stable kernel releases must be output by 'pr_err'.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:29:52 -03:00
Michael Krufky
4d1b58b844 [media] smsusb: add autodetection support for USB ID 2040:c0a0
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-03 15:28:49 -03:00
Julia Lawall
d63b21bfa8 [media] drivers/media/video/au0828/au0828-video.c: add missing video_device_release
At the point of the call to video_register_device, both dev->vbi_dev and
dev->vdev have been allocated, and so should be freed on failure.  The
error-handling code is moved to the end of the function, to avoid code
duplication.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-02 09:09:10 -03:00
Dan Carpenter
bcb2cf6e0b [media] ngene: remove an unneeded condition
"stat" is always zero here.  The condition used to be needed, but we
shifted stuff around in 0f0b270f90 "[media] ngene: CXD2099AR Common
Interface driver".

This doesn't change how the code works, it's just a bit tidier.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-26 15:29:23 -03:00
Dan Carpenter
2e71064f2f [media] saa7164: saa7164_vbi_stop_port() returns linux error codes
The saa7164_vbi_stop_port() changes the SAA_ERR_ALREADY_STOPPED result
code to -EIO before returning.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-26 15:28:31 -03:00
Hans Verkuil
f70cfc7f18 [media] vivi: fix duplicate line
This was inadvertently introduced when the integer menu control was added.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 17:24:53 -03:00
Hans Verkuil
ca57681195 [media] v4l2-ctrls.c: zero min/max/step/def values for 64 bit integers
Those fields are meaningless for such control types, and the control framework
should zero them. Otherwise v4l2-compliance will complain about non-zero
min/max/step/def fields.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 17:24:19 -03:00
Hans Verkuil
d1c754a932 [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY
If the vidioc_default implementation doesn't support the ioctl, then drivers
must return -ENOTTY instead of -EINVAL.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 17:23:55 -03:00
Hans Verkuil
ee71e7b3ae [media] V4L: fix incorrect refcounting
Both radio-keene and dsbr100 did one v4l2_device_get too many. Thus the refcount
never became 0 and that causes a memory leak.

Also updated the V4L2 framework documentation accordingly.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 17:23:38 -03:00
Dan Carpenter
aa6d5f2953 [media] pluto2: remove some dead code
buf[] is a 4 character array.  Perhaps this was some debugging code from
back in the day?

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 17:15:32 -03:00
Marcos Paulo de Souza
c1341a16f6 [media] drivers: media: dvb: ddbridge: ddbridge-code: Remove unneeded include of version.h
The output of "make versioncheck" told us that the file
drivers/media/dvb/ddbridge/ddbridge-code.c has a incorrect include of
version.h:

linux/drivers/media/dvb/ddbridge/ddbridge-core.c: 34 linux/version.h not
needed.

After take a look in the code, we can agree to remove it.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <linux-media@vger.kernel.org>
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 16:54:29 -03:00
Marcos Paulo de Souza
af22b83ab8 [media] drivers: media: radio: radio-keene.c: Remove unneeded include of version.h
The output of "make versioncheck" told us that:

drivers/media/radio/radio-keene.c: 31 linux/version.h not needed.

After take a look in the code, we can agree to remove it.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <linux-media@vger.kernel.org>
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 16:54:16 -03:00
Marcos Paulo de Souza
713ca5dfd0 [media] drivers: media: video: adp1653.c: Remove unneeded include of version.h
The output of "make versioncheck" told us that:

drivers/media/video/adp1653.c: 37 linux/version.h not needed.

After we take a look at the code, we can afree to remove it.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <linux-media@vger.kernel.org>
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 16:53:59 -03:00
Mauro Carvalho Chehab
f26cede165 [media] tm6000: don't use KERNEL_VERSION
As reported by Marcos:
> The output of "make versioncheck" told us that:
>
> drivers/staging/media/easycap/easycap_ioctl.c: 2442: need linux/version.h

Now that drivers/media/video/v4l2-ioctl.c fills cap->version:
	case VIDIOC_QUERYCAP:
	{
		struct v4l2_capability *cap = (struct v4l2_capability *)arg;

		if (!ops->vidioc_querycap)
			break;

		cap->version = LINUX_VERSION_CODE;

V4L2 drivers that use video_ioctl2() shouldn't initialize it anymore.

Reported-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 16:49:30 -03:00
Mauro Carvalho Chehab
d8a9c01484 [media] tlg2300: Remove usage of KERNEL_VERSION()
As reported by Marcos:

On 04-18-2012 01:30, Marcos Paulo de Souza wrote:
> The output of "make versioncheck" told us that:
>
> drivers/media/video/tlg2300/pd-video.c: 1669: need linux/version.h
>
> If we take a look at the code, we can see that this file uses the macro
> KERNEL_VERSION.

The V4L2 core now fills it automatically, so drivers shouldn't touch on
cap->version anymore.

Reported by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 16:47:07 -03:00
Gianluca Gennari
0bc9d39b8f [media] dib0700: add new USB PID for the Elgato EyeTV DTT stick
Reported working here:
http://ubuntuforums.org/archive/index.php/t-1510188.html
http://ubuntuforums.org/archive/index.php/t-1756828.html
https://sites.google.com/site/slackwarestuff/home/elgato-eyetv

Signed-off-by: Gianluca Gennari <gennarone@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 14:43:56 -03:00
Tim Gardner
d74185b40d [media] video: vicam: Add MODULE_FIRMWARE
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 14:40:09 -03:00
Gianluca Gennari
a00f559c9f [media] dib7000p: remove duplicate code and comment
Remove duplicate code and comment, probably due to a patch applied twice.

Signed-off-by: Gianluca Gennari <gennarone@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 14:35:57 -03:00
Michael Krufky
52dbb57c23 [media] au8522_common: dont EXPORT_SYMBOL(au8522_led_gpio_enable)
This function is only called from within au8522_common.c - mark it static.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:49:53 -03:00
Michael Krufky
0a7b5e2747 [media] au8522_common: add missing MODULE_LICENSE
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:49:23 -03:00
Michael Krufky
b31506c47c [media] au8522: build ATV/DTV demodulators as separate modules
au8522_dig.o and au8522_decoder.o function independentantly
of each other, each for a different hardware function using
a different software subsystem api, each with its own set
of subsystem module dependencies.

Since these drivers do not depend on each other, and it is
in fact possible to build hardware designs using one function
and not the other, lets split this module into two, allowing
system integrators to enable the hardware without dragging in
undesired dependencies.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:49:06 -03:00
Michael Krufky
be183dc3f7 [media] au0828-dvb: attach tuner based on dev->board.tuner_type on hvr950q
We can tell from the eeprom whether we have a xc5000a or xc5000c.
Attach the correct tuner based on this information.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:44:54 -03:00
Michael Krufky
409328a4dc [media] xc5000: xtal_khz should be a u16 rather than a u32
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:44:08 -03:00
Michael Krufky
3532067656 [media] xc5000: log firmware upload failures in xc5000_fwupload
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:43:53 -03:00
Michael Krufky
7d3d0d8d6f [media] xc5000: support 32MHz & 31.875MHz xtal using the 41.024.5 firmware
Rather than loading firmware specific for the xtal frequency, just use
the standard firmware and set the xtal frequency after firmware upload.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:43:37 -03:00
Mauro Carvalho Chehab
d5aeee8cb2 Merge tag 'v3.4-rc3' into staging/for_v3.5
* tag 'v3.4-rc3': (3755 commits)
  Linux 3.4-rc3
  x86-32: fix up strncpy_from_user() sign error
  ARM: 7386/1: jump_label: fixup for rename to static_key
  ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
  ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
  ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
  PCI: Fix regression in pci_restore_state(), v3
  SCSI: Fix error handling when no ULD is attached
  ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors
  ARM: dts: remove blank interrupt-parent properties
  ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files
  do not export kernel's NULL #define to userspace
  ARM: EXYNOS: Remove broken config values for touchscren for NURI board
  ARM: EXYNOS: set fix xusbxti clock for NURI and Universal210 boards
  ARM: EXYNOS: fix regulator name for NURI board
  ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL
  cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS
  sparc64: Eliminate obsolete __handle_softirq() function
  sparc64: Fix bootup crash on sun4v.
  ARM: msm: Fix section mismatches in proc_comm.c
  ...
2012-04-19 09:23:28 -03:00
Xi Wang
32898a1454 [media] zoran: fix integer overflow in setup_window()
`clipcount' is from userspace and thus needs validation.  Otherwise,
a large `clipcount' could overflow the vmalloc() size, leading to
out-of-bounds access.

| setup_window()
| zoran_s_fmt_vid_overlay()
| __video_do_ioctl()
| video_ioctl2()

Use 2048 as the maximum `clipcount'.  Also change the corresponding
parameter type to `unsigned int'.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:11:25 -03:00
Jesper Juhl
3fc82fa001 [media] s2255drv: Remove redundant NULL test before release_firmware()
release_firmware() tests for NULL pointers on its own - there's no
reason to do an explicit check before calling the function.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-19 09:09:58 -03:00
Xi Wang
0a3475eb61 [media] v4l2-ctrls: fix integer overflow in try_set_ext_ctrls()
A large cs->count from userspace may overflow the allocation size,
leading to memory corruption.  try_set_ext_ctrls() can be reached
from subdev_do_ioctl() or __video_do_ioctl().

Use kmalloc_array() to avoid the overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-18 11:09:38 -03:00
Xi Wang
5f0049bd69 [media] v4l2-ctrls: fix integer overflow in v4l2_g_ext_ctrls()
A large cs->count from userspace may overflow the allocation size,
leading to memory corruption.  v4l2_g_ext_ctrls() can be reached
from subdev_do_ioctl() or __video_do_ioctl().

Use kmalloc_array() to avoid the overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-18 11:09:03 -03:00