GitHub/exynos8895/android_kernel_samsung_universal8895.git
17 years agoV4L/DVB (5154): Add some debug info, depending on debug level
Mauro Carvalho Chehab [Fri, 26 Jan 2007 10:23:44 +0000 (07:23 -0300)]
V4L/DVB (5154): Add some debug info, depending on debug level

With debug>0, it will show mute/unmute and set frequency events
with debug>=4, it will show get frequency events
Also, some kernel CodingStyle fixes were done.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5153): Make it coherent with vidioc_g_tuner
Mauro Carvalho Chehab [Fri, 26 Jan 2007 10:07:12 +0000 (07:07 -0300)]
V4L/DVB (5153): Make it coherent with vidioc_g_tuner

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5152): Implements VIDIOC_[S|G]_INPUT on radio-aztech/radio-maxiradio
Mauro Carvalho Chehab [Thu, 25 Jan 2007 19:48:13 +0000 (16:48 -0300)]
V4L/DVB (5152): Implements VIDIOC_[S|G]_INPUT on radio-aztech/radio-maxiradio

fmtools use VIDIOCSTUNER, with, in turn, calls VIDIOC_S_INPUT on v4l1-compat.
So, those ioctls are required for V4L1  to work properly.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5151): Implement VIDIOC_[GS]_AUDIO on aztech
Mauro Carvalho Chehab [Thu, 25 Jan 2007 18:10:31 +0000 (15:10 -0300)]
V4L/DVB (5151): Implement VIDIOC_[GS]_AUDIO on aztech

v4l1-compat requires those two ioctls to translate VIDIOC[SG]RADIO
into V4L2 calls.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5150): Implement VIDIOC_[GS]_AUDIO on maxiradio
Mauro Carvalho Chehab [Thu, 25 Jan 2007 18:00:45 +0000 (15:00 -0300)]
V4L/DVB (5150): Implement VIDIOC_[GS]_AUDIO on maxiradio

v4l1-compat requires those two ioctls to translate VIDIOC[SG]RADIO
 into V4L2 calls.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5149): Convert radio-maxiradio to use video_ioctl2
Mauro Carvalho Chehab [Thu, 25 Jan 2007 12:04:34 +0000 (09:04 -0300)]
V4L/DVB (5149): Convert radio-maxiradio to use video_ioctl2

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5148): Convert radio-aztech to use video_ioctl2
Mauro Carvalho Chehab [Thu, 25 Jan 2007 11:09:32 +0000 (08:09 -0300)]
V4L/DVB (5148): Convert radio-aztech to use video_ioctl2

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5147): Make vivi driver to use vmalloced pointers
Mauro Carvalho Chehab [Thu, 25 Jan 2007 08:00:01 +0000 (05:00 -0300)]
V4L/DVB (5147): Make vivi driver to use vmalloced pointers

Before this patch, vivi were simulating a scatter gather DMA transfer.
While this is academic, showing how stuff really works on a real PCI
device, this means a non-optimized code.
There are only two memory models that vivi implements:
1) kernel alloced memory. This is also used by read() method.
   On this case, a vmalloc32 buffer is allocated at kernel;
2) userspace allocated memory. This is used by most userspace apps.
   video-buf will store this pointer.
   a simple copy_to_user is enough to transfer data.
The third memory model scenario supported by video-buf is overlay mode.
This model is not implemented on vivi and unlikely to be implemented on
newer drivers, since now, most userspace apps do some post-processing
(like de-interlacing).
After this patch, some cleanups may be done at video-buf.c to avoid
allocating pages, when the driver doesn't need a PCI buffer. This is the
case of vivi and usb drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only
Trent Piepho [Wed, 24 Jan 2007 01:38:13 +0000 (22:38 -0300)]
V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only

The direct register access ioctls were defined as kernel internal only,
but they are very useful for debugging hardware from userspace and are
used as such.  Officially export them.

VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER
Definition of ioctl and struct v4l2_register is moved from v4l2-common.h
to videodev2.h.

Types used in struct v4l2_register are changed to the userspace
exportable versions (u32 -> __u32, etc).

Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move
the check into the video_ioctl2() dispatcher so it doesn't need to be
duplicated in each driver's call-back function. CAP_SYS_ADMIN check is
added to pvrusb2 (which doesn't use video_ioctl2).

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5144): Restore VIDIOC_INT_[SG]_REGISTER calls
Trent Piepho [Tue, 23 Jan 2007 02:31:53 +0000 (23:31 -0300)]
V4L/DVB (5144): Restore VIDIOC_INT_[SG]_REGISTER calls

Add support for these ioctls to the video_ioctl2 system and the cx88
driver.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5142): M920x: move filter caps from device caps to adapter caps
Michael Krufky [Tue, 23 Jan 2007 18:34:10 +0000 (15:34 -0300)]
V4L/DVB (5142): M920x: move filter caps from device caps to adapter caps

Move filter caps from device caps to adapter caps for the megasky driver.
This fixes usb1.1 operation.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5141): M920x: group tuner / demod callback functions together
Michael Krufky [Tue, 23 Jan 2007 18:00:42 +0000 (15:00 -0300)]
V4L/DVB (5141): M920x: group tuner / demod callback functions together

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5140): Whitespace / 80-column cleanups
Michael Krufky [Sun, 21 Jan 2007 18:57:48 +0000 (15:57 -0300)]
V4L/DVB (5140): Whitespace / 80-column cleanups

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5139): M920x: Fix tuner identification bug with qt1010 module
Aapo Tahkola [Sun, 21 Jan 2007 18:57:20 +0000 (15:57 -0300)]
V4L/DVB (5139): M920x: Fix tuner identification bug with qt1010 module

Fixes qt1010 identification bug with megasky caused by
the Quantek QT1010 tuner module patch.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5138): Kconfig: qt1010 should be selected by m920x
Michael Krufky [Sun, 21 Jan 2007 18:56:46 +0000 (15:56 -0300)]
V4L/DVB (5138): Kconfig: qt1010 should be selected by m920x

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5137): Dvb: add new qt1010 tuner module
Antti Palosaari [Sun, 21 Jan 2007 18:56:10 +0000 (15:56 -0300)]
V4L/DVB (5137): Dvb: add new qt1010 tuner module

QT1010:
- old qt1010-code totally rewritten and put in own kernel module
- same enhancements as my earlier QT1010 125kHz patch
- tuner initialization
- register 1f calculation
- register 20 calculation
- register 25 calculation

m920x: (MSI Megasky)
- use new QT1010 module instead of old code

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5136): M920x: correct oops when loading module
Michael Krufky [Sat, 7 Oct 2006 18:03:04 +0000 (15:03 -0300)]
V4L/DVB (5136): M920x: correct oops when loading module

move .caps from the adapter properties to the device properties.
Thanks to Martin Schwier for confirming this fix.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5135): Qt1010: correct hardlockup when an app access the DVB dongle
Jan Nijs [Sat, 7 Oct 2006 04:06:54 +0000 (01:06 -0300)]
V4L/DVB (5135): Qt1010: correct hardlockup when an app access the DVB dongle

This patch changes qt1010.h to use dvb_usb_device struct instead of a
dvb_usb_adapter for accessing the private area of the driver.
Without this patch my PC hard locks when an application tries to access
the DVB tuner.

Signed-off-by: Jan Nijs <jan.nijs@scarlet.be>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5134): M920x: fix build in hg tree / other trivial fixes
Michael Krufky [Tue, 3 Oct 2006 19:46:33 +0000 (16:46 -0300)]
V4L/DVB (5134): M920x: fix build in hg tree / other trivial fixes

- removed extra newline
- removed NULL entry
- fixed versions.txt

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5133): M920x: move qt1010_tuner_attach function into qt1010.h
Michael Krufky [Thu, 28 Sep 2006 17:47:21 +0000 (14:47 -0300)]
V4L/DVB (5133): M920x: move qt1010_tuner_attach function into qt1010.h

The megasky_tuner_attach function is not specific to this device.
This patch renames it to qt1010_tuner_attach and moves it into the qt1010
header file.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5132): M920x: more trivial cleanups
Patrick Boettcher [Thu, 28 Sep 2006 16:48:03 +0000 (13:48 -0300)]
V4L/DVB (5132): M920x: more trivial cleanups

- Removed some needless brances
- Removed an unneeded check for adapter[0]
- Removed unneeded declaration of .generic_bulk_ctrl_endpoint = 0x01

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5131): M920x: more cleanups
Michael Krufky [Thu, 28 Sep 2006 04:46:49 +0000 (01:46 -0300)]
V4L/DVB (5131): M920x: more cleanups

Some cleanups and suggestions from Patrick Boettcher.
Dropped the mutex in m9206_rc_query using #if 0, because
M9206_CORE, M9206_I2C, M9206_FILTER and M9206_FW can be accessed
concurrently.
Thanks to both Aapo Tahkola and Patrick Boettcher.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5130): M920x: misc updates and fixes
Aapo Tahkola [Thu, 28 Sep 2006 03:47:51 +0000 (00:47 -0300)]
V4L/DVB (5130): M920x: misc updates and fixes

- hardware pid filtering no longer enabled unless in usb 1.x mode
- more responsive rc handling
- some minor bug fixes and code refolding
- m9206_write delay dropped (doesn't seem to be needed)

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5129): M920x: break out qt1010 tuner code into a separate file
Michael Krufky [Sat, 23 Sep 2006 23:40:20 +0000 (20:40 -0300)]
V4L/DVB (5129): M920x: break out qt1010 tuner code into a separate file

qt1010 is a tuner used in some other devices, so this code should be put
into a separate file so that it could be reused by other drivers.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5128): M920x: trivial cleanups
Michael Krufky [Sat, 23 Sep 2006 23:13:12 +0000 (20:13 -0300)]
V4L/DVB (5128): M920x: trivial cleanups

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5127): M920x: update megasky driver for recent changes in the dvb tree
Michael Krufky [Sat, 23 Sep 2006 23:01:29 +0000 (20:01 -0300)]
V4L/DVB (5127): M920x: update megasky driver for recent changes in the dvb tree

update code to use dvb_attach()
update code to reflect recent changes to the dvb_usb framework

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5126): M920x: cleanups after rename from megasky.[ch]
Michael Krufky [Sat, 23 Sep 2006 23:01:29 +0000 (20:01 -0300)]
V4L/DVB (5126): M920x: cleanups after rename from megasky.[ch]

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5125): Dvb-usb: rename megasky.[ch] to m920x.[ch]
Michael Krufky [Sat, 23 Sep 2006 23:00:42 +0000 (20:00 -0300)]
V4L/DVB (5125): Dvb-usb: rename megasky.[ch] to m920x.[ch]

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5124): Dvb-usb: Initial support for MSI Mega Sky 580 based on Uli m9206
Aapo Tahkola [Sat, 23 Sep 2006 23:00:41 +0000 (20:00 -0300)]
V4L/DVB (5124): Dvb-usb: Initial support for MSI Mega Sky 580 based on Uli m9206

Currently, the driver works in bulk mode supporting both USB 2.0 and
1.0 with and without hardware pid filters.
The ULi m9205 also supports isochronous transfer mode, but I have
dropped support for it because it depends on firmware and does not work
on all USB host chips. Further, I have no firmware with remote
controller support for this mode.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5121): Proper vendor/device ID for the CinergyT2 input device
Tino Keitel [Mon, 22 Jan 2007 21:33:07 +0000 (18:33 -0300)]
V4L/DVB (5121): Proper vendor/device ID for the CinergyT2 input device

I noticed that udev does not create a symlink for the CinergyT2 remote input
device in /dev/input/by-id, which is required if I want to have a
unique device name for lircd.
The attached patch tries to achive this. However, udev still omits the
input device for /dev/input/by-id symlinks. I think something is still
not reported correctly.

Signed-off-by: Tino Keitel <tino.keitel@tikei.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5119): Various cx2341x documentation updates/fixes.
Hans Verkuil [Mon, 22 Jan 2007 21:27:47 +0000 (18:27 -0300)]
V4L/DVB (5119): Various cx2341x documentation updates/fixes.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5117): Fix: VIDIOC_G_TUNER were returning an endless number of tuners
Mauro Carvalho Chehab [Mon, 22 Jan 2007 01:02:58 +0000 (22:02 -0300)]
V4L/DVB (5117): Fix: VIDIOC_G_TUNER were returning an endless number of tuners

pvrusb2 have only one tuner inside. However, as it were not handling
index, a call to v4l-info were returning as if it were an infinite
number of tuners:
$ v4l-info|grep VIDIOC_G_TUNER |head -5
    VIDIOC_G_TUNER(0)
    VIDIOC_G_TUNER(1)
    VIDIOC_G_TUNER(2)
    VIDIOC_G_TUNER(3)
    VIDIOC_G_TUNER(4)

Acked-by: Mike Isely <isely@isely.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5116): Remove some warnings when compiling on x86_64
Mauro Carvalho Chehab [Mon, 22 Jan 2007 01:02:35 +0000 (22:02 -0300)]
V4L/DVB (5116): Remove some warnings when compiling on x86_64

pvrusb2-encoder.c: In function 'pvr2_encoder_cmd':
pvrusb2-encoder.c:195: warning: format '%u' expects
type 'unsigned int', but argument 3 has type 'long unsigned int'
pvrusb2-encoder.c:205: warning: format '%u' expects
type 'unsigned int', but argument 3 has type 'long unsigned int'
pvrusb2-encoder.c: In function 'pvr2_encoder_vcmd':
pvrusb2-encoder.c:303: warning: format '%u' expects
type 'unsigned int', but argument 3 has type 'long unsigned int'

Acked-by: Mike Isely <isely@isely.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5114): Cx88: Add support for svideo/composite input of the Terratec Cinergy...
Heiko Baums [Sun, 21 Jan 2007 08:58:19 +0000 (05:58 -0300)]
V4L/DVB (5114): Cx88: Add support for svideo/composite input of the Terratec Cinergy 1400 DVB-T

Adds support for the combined S-Video/Composite input of the
Terratec Cinergy 1400 DVB-T.

Signed-off-by: Heiko Baums <heiko@baums-on-web.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5113): Adds video output routing
Marco Schluessler [Sun, 21 Jan 2007 22:43:38 +0000 (19:43 -0300)]
V4L/DVB (5113): Adds video output routing

Nexus CA needs to use a different routing on saa7115 module.

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5111): Saa7134: add support for Terratec Cinergy HT PCI
Michael Krufky [Tue, 16 Jan 2007 21:36:40 +0000 (18:36 -0300)]
V4L/DVB (5111): Saa7134: add support for Terratec Cinergy HT PCI

Add support for Terratec Cinergy HT PCI

Signed-off-by: Giorgio Moscardi <software@sukkology.net>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5110): Keep the previous tvnorm default for cx88 and cx88-blackbird
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:59:41 +0000 (13:59 -0300)]
V4L/DVB (5110): Keep the previous tvnorm default for cx88 and cx88-blackbird

The video_ioctl2 conversion replaced the default from NTSC to PAL_BG.
This broke cx88-blackbird. Probably, there are some badness at this
driver, not doing all required stuff to change video standard.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5109): Convert cx88-blackbird to use video_ioctl2
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:59:38 +0000 (13:59 -0300)]
V4L/DVB (5109): Convert cx88-blackbird to use video_ioctl2

This patch finishes cx88-blackbird conversion to use video_ioctl2. Video
standards are generated automatically inside videodev.c. the big ioctl
parser is removed, using, instead, video_ioctl2.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5108): Remove_cx88_ioctl
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:59:35 +0000 (13:59 -0300)]
V4L/DVB (5108): Remove_cx88_ioctl

cx88_ioctl were merged at the master ioctl handler on cx88-blackbird

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5107): Use cx88_set_freq() on cx88-blackbird.c
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:59:32 +0000 (13:59 -0300)]
V4L/DVB (5107): Use cx88_set_freq() on cx88-blackbird.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5106): Do some cleanups at cx88-blackbird
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:59:29 +0000 (13:59 -0300)]
V4L/DVB (5106): Do some cleanups at cx88-blackbird

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5105): Reorder some ioctl handlers
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:59:22 +0000 (13:59 -0300)]
V4L/DVB (5105): Reorder some ioctl handlers

Reorder some ioctl handlers to make easy to convert to video_ioctl2

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5104): Moved several stuff that were at cx88-video to cx88-blackbird.c
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:39 +0000 (13:58 -0300)]
V4L/DVB (5104): Moved several stuff that were at cx88-video to cx88-blackbird.c

cx88-blackbird were using some ioctl handling that were previously on
cx88-video.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5103): Fix vidioc_g_tuner handling
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:36 +0000 (13:58 -0300)]
V4L/DVB (5103): Fix vidioc_g_tuner handling

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5102): make videodev to auto-generate standards
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:33 +0000 (13:58 -0300)]
V4L/DVB (5102): make videodev to auto-generate standards

v4l2_tvnorm were meant to describe video standards and its names to V4L2 API.
However, this were doing by some static structures at the driver.

This patch changes the internals in a way that, at the driver, only a
v4l2_tvnorm (a 64 bit integer) should be filled, with all supported
tvnorms. videodev will dynamically generate the proper API array
based on supported standards.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5101): Renamed video_mux to cx88_video_mux
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:29 +0000 (13:58 -0300)]
V4L/DVB (5101): Renamed video_mux to cx88_video_mux

video_mux is renamed to cx88_video_mux to be exported to cx88-blackbird

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5100): Make cx88-blackbird to work again
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:26 +0000 (13:58 -0300)]
V4L/DVB (5100): Make cx88-blackbird to work again

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5099): Uncommented NTSC/443 video standard
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:23 +0000 (13:58 -0300)]
V4L/DVB (5099): Uncommented NTSC/443 video standard

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5098): Added support for V4L2_STD_NTSC_443
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:20 +0000 (13:58 -0300)]
V4L/DVB (5098): Added support for V4L2_STD_NTSC_443

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5097): Convert cx8800 driver to video_ioctl2 handler
Mauro Carvalho Chehab [Sat, 20 Jan 2007 16:58:17 +0000 (13:58 -0300)]
V4L/DVB (5097): Convert cx8800 driver to video_ioctl2 handler

video_ioctl2 handler provides V4L2 API parsing.
Using it makes the driver simpler, and isolates API parsing.
This allows future reusage of driver controls using other ways, like sysfs
and/or procfs and increases isolation of driver-specific handling from the
generic common ioctl processing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5095): Pvrusb2: Allow VIDIOC_S_FMT with -1 for resolution values
Pantelis Koukousoulas [Sat, 20 Jan 2007 04:59:54 +0000 (01:59 -0300)]
V4L/DVB (5095): Pvrusb2: Allow VIDIOC_S_FMT with -1 for resolution values

With the previous patch, mplayer started but was polling the video
device forever without any video actually coming out. Further analysis
showed that it does a VIDIOC_S_FMT with width and height set to -1 (!!!).
The code handling this only cares that both are lower than the minimum
range allowed so it ends up setting the size to 19x17 (!!) This pretty
much breaks the encoder here. Even if this breakage is yet another (TM)
result of my setup, setting the size to 19x17 by default would surprise
most users IMHO.
So, special case for -1 and interpret this to be a request for the
default size, please. Users can then set their favorite size both
through mplayer and through sysfs.
With this patch, mplayer finally works in pvr:// mode (not that we
really gain anything over operating it through sysfs with lirc,
sometime I might actually get off my lazy a** and contribute this
setup too)

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5094): Pvrusb2: Introduce fake audio input selection
Pantelis Koukousoulas [Sat, 20 Jan 2007 04:57:36 +0000 (01:57 -0300)]
V4L/DVB (5094): Pvrusb2: Introduce fake audio input selection

This should allow mplayer pvr:// to start. The trick is that no matter
what actual input we use under this "fake" one, it will be able to do
stereo :-)

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5093): Pvrusb2: Emit VIDIOC_S_TUNER correctly
Mike Isely [Sat, 20 Jan 2007 04:56:04 +0000 (01:56 -0300)]
V4L/DVB (5093): Pvrusb2: Emit VIDIOC_S_TUNER correctly

Audio mode changes are not private to the audio chip - other I2C
modules need to see this as well.  And since the command in question
is VIDIOC_S_TUNER which is a standard v4l2 command, we really should
be broadcasting it out.  This change sets up a broadcast pathway for
VIDIOC_S_TUNER and also eliminates the now redundant code from the
audio chip handler.
This fix enables stereo reception for the FM radio

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5092): Pvrusb2: Use ARRAY_SIZE wherever possible
Mike Isely [Sat, 20 Jan 2007 03:39:17 +0000 (00:39 -0300)]
V4L/DVB (5092): Pvrusb2: Use ARRAY_SIZE wherever possible

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5091): Pvrusb2: Use kzalloc in place of kmalloc/memset pairs
Mike Isely [Sat, 20 Jan 2007 03:37:11 +0000 (00:37 -0300)]
V4L/DVB (5091): Pvrusb2: Use kzalloc in place of kmalloc/memset pairs

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5090): Pvrusb2: A patch to use ARRAY_SIZE macro when appropriate
Ahmed S. Darwish [Sat, 20 Jan 2007 03:35:03 +0000 (00:35 -0300)]
V4L/DVB (5090): Pvrusb2: A patch to use ARRAY_SIZE macro when appropriate

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5089): Pvrusb2: V4L EXT_CTRLS fixup
Mike Isely [Sat, 20 Jan 2007 03:30:23 +0000 (00:30 -0300)]
V4L/DVB (5089): Pvrusb2: V4L EXT_CTRLS fixup

Attempts to enumerate or operate on a group of EXT_CTRLS where the
group size is zero is OK; don't fail on such operations.  At least one
application uses this to probe for the existence of this API so let it
succeed.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5088): Pvrusb2: Minor dead code / comment cleanups
Mike Isely [Sat, 20 Jan 2007 03:28:15 +0000 (00:28 -0300)]
V4L/DVB (5088): Pvrusb2: Minor dead code / comment cleanups

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5087): Pvrusb2: Fix sizeof() calculation foul-up
Mike Isely [Sat, 20 Jan 2007 03:27:01 +0000 (00:27 -0300)]
V4L/DVB (5087): Pvrusb2: Fix sizeof() calculation foul-up

This bug caused uninitalized data to be returned during a G_TUNER status poll.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5086): Pvrusb2: Fix missing break statement on VIDIOC_S_TUNER
Mike Isely [Sat, 20 Jan 2007 03:24:52 +0000 (00:24 -0300)]
V4L/DVB (5086): Pvrusb2: Fix missing break statement on VIDIOC_S_TUNER

The lack of a break statement in the handling of VIDIOC_S_TUNER caused
errors to result.  Fixed.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5085): Pvrusb2: trace print added
Mike Isely [Sat, 20 Jan 2007 03:22:28 +0000 (00:22 -0300)]
V4L/DVB (5085): Pvrusb2: trace print added

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5084): Pvrusb2: Stop hardcoding frequency ranges
Mike Isely [Sat, 20 Jan 2007 03:19:23 +0000 (00:19 -0300)]
V4L/DVB (5084): Pvrusb2: Stop hardcoding frequency ranges

Rather than hardcoding frequency ranges everywhere, rely on
VIDIOC_G_TUNER results wherever we can.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5083): Pvrusb2: Remove automodeswitch control
Mike Isely [Sat, 20 Jan 2007 03:15:41 +0000 (00:15 -0300)]
V4L/DVB (5083): Pvrusb2: Remove automodeswitch control

The automodeswitch control was a feature that enable automatic radio /
tv switching based on the selected frequency.  However since frequency
ranges can overlap and also since apparently in some cases it's
possible for the same frequency range to be both tv and radio in a
specific region, then this feature can't safely work.  So it's removed.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5082): Pvrusb2: Slight debug printing efficiency fixup
Mike Isely [Sat, 20 Jan 2007 03:10:55 +0000 (00:10 -0300)]
V4L/DVB (5082): Pvrusb2: Slight debug printing efficiency fixup

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5081): Pvrusb2: VIDIOC_G_TUNER cleanup
Mike Isely [Sat, 20 Jan 2007 03:09:47 +0000 (00:09 -0300)]
V4L/DVB (5081): Pvrusb2: VIDIOC_G_TUNER cleanup

Clean up use of VIDIOC_G_TUNER; we now correctly gather info from all
the I2C client modules.  Also abide by V4L2_TUNER_CAP_LOW
appropriately.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5080): Pvrusb2: Allow streaming from /dev/radioX
Mike Isely [Sat, 20 Jan 2007 03:04:31 +0000 (00:04 -0300)]
V4L/DVB (5080): Pvrusb2: Allow streaming from /dev/radioX

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5079): Pvrusb2: Use kzalloc instead of kmalloc+memset pairs
Mike Isely [Sat, 20 Jan 2007 03:03:32 +0000 (00:03 -0300)]
V4L/DVB (5079): Pvrusb2: Use kzalloc instead of kmalloc+memset pairs

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5078): Pvrusb2: It's safe to kfree() a null pointer
Mike Isely [Sat, 20 Jan 2007 03:02:26 +0000 (00:02 -0300)]
V4L/DVB (5078): Pvrusb2: It's safe to kfree() a null pointer

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5077): Bttv cropping support
Michael Schimek [Thu, 18 Jan 2007 19:17:39 +0000 (16:17 -0300)]
V4L/DVB (5077): Bttv cropping support

Adds the missing VIDIOC_CROPCAP, G_CROP and S_CROP ioctls, permitting
applications to capture or overlay a subsection of the picture or to
extend the capture window beyond active video, into the VBI area and the
horizontal blanking. VBI capturing can start and end on any line,
including the picture area, and apps can capture different lines of each
field and single fields.
For compatibility with existing applications, the open() function
resets the cropping and VBI capturing parameters and a VIDIOC_S_CROP
call is necessary to actually enable cropping.
Regrettably in PAL-M, PAL-N, PAL-Nc and NTSC-JP mode the maximum image
width will increase from 640 and 768 to 747 and 923 pixels respectively.
Like the VBI changes however, this should only affect applications which
depend on former driver limitations, such as never getting more than 640
pixels regardless of the requested width.
Also, new freedoms require additional checks for conflicts and some
applications may not expect an EBUSY error from the VIDIOC_QBUF and
VIDIOCMCAPTURE ioctls. These errors should be rare though.
So far, the patch has been tested on a UP machine with a bt878 in PAL-
BGHI and NTSC-M mode using xawtv, tvtime, mplayer/mencoder, zapping/
libzvbi and these tools: http://zapping.sf.net/bttv-crop-test.tar.bz2
I'd be grateful about comments or bug reports.

Signed-off-by: Michael H. Schimek <mschimek@gmx.at>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5076): Cpia.c: buffer overflow
Alexey Dobriyan [Sun, 14 Jan 2007 18:29:42 +0000 (15:29 -0300)]
V4L/DVB (5076): Cpia.c: buffer overflow

If assigned minor is 10 or greater, terminator will be put beyound the end.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5059): Pvrusb2: Be smarter about mode restoration
Mike Isely [Sat, 30 Dec 2006 21:31:22 +0000 (18:31 -0300)]
V4L/DVB (5059): Pvrusb2: Be smarter about mode restoration

Switch back to the previous input selection when the radio device is
closed - but only do that if the current input selection is still the
radio (i.e. it appears that it hasn't been messed with).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5058): Pvrusb2: bug fix involving switch into radio mode
Mike Isely [Sat, 30 Dec 2006 21:30:12 +0000 (18:30 -0300)]
V4L/DVB (5058): Pvrusb2: bug fix involving switch into radio mode

When the input is switched by opening /dev/radioX, we must also commit
that change into the driver core.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5057): Pvrusb2: Stream configuration cleanups
Mike Isely [Sat, 30 Dec 2006 21:27:32 +0000 (18:27 -0300)]
V4L/DVB (5057): Pvrusb2: Stream configuration cleanups

Clean up and tighten logic involving stream configuration.  This
mainly involves changes to pvrusb2-v4l2.c, where we better clarify how
we use the stream configuration enum and implement a cleaner means to
control streaming for a given device node.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5056): Pvrusb2: Fix cut/paste bug in auto_mode_switch control
Mike Isely [Sat, 30 Dec 2006 21:24:35 +0000 (18:24 -0300)]
V4L/DVB (5056): Pvrusb2: Fix cut/paste bug in auto_mode_switch control

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5054): Pvrusb2: cosmetic comment tweak
Mike Isely [Thu, 28 Dec 2006 02:40:59 +0000 (23:40 -0300)]
V4L/DVB (5054): Pvrusb2: cosmetic comment tweak

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5053): Pvrusb2: Change default volume to something sane
Mike Isely [Thu, 28 Dec 2006 02:36:33 +0000 (23:36 -0300)]
V4L/DVB (5053): Pvrusb2: Change default volume to something sane

The default volume of 65535 is too high.  Make is something smaller.
Note that this _only_ changes the default value.  Specifically, there
are no scaling or other more intrusive changes here.  I'm just sick of
constantly having to reduce the volume every time I plug in and test
the device!  (And unfortunately we can't do a better fix like scaling
the volume so that 65535 makes sense because doing so will screw up
any app - like MythTV - which expects the old scaling.)  Too bad V4L
controls don't have better defined ranges.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5052): Pvrusb2: Remove stream claiming hack from /dev/radio
Mike Isely [Thu, 28 Dec 2006 02:33:00 +0000 (23:33 -0300)]
V4L/DVB (5052): Pvrusb2: Remove stream claiming hack from /dev/radio

Trying to temporarily check that the stream is not claimed during open
of the radio device is at best a race condition.  What's to stop
another app from claiming the stream anyway the instant after the
check is done?  The implementation for this was dicey anyway.  So it's
removed.  The only "price" for this is that if /dev/radioX is opened
while streaming video, then the video stream is just going to switch
to radio mode anyway.  If a user does this, he gets what he expects...

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5051): Pvrusb2: Better radio versus tv frequency handling
Mike Isely [Thu, 28 Dec 2006 02:30:13 +0000 (23:30 -0300)]
V4L/DVB (5051): Pvrusb2: Better radio versus tv frequency handling

Separate track radio versus tv frequency so that when we switch modes
we can also switch to a sane frequency appropriate for the mode.  Also
implement logic to automate mode switching in certain cases.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5050): Pvrusb2: Newer frequency range checking
Mike Isely [Thu, 28 Dec 2006 02:28:54 +0000 (23:28 -0300)]
V4L/DVB (5050): Pvrusb2: Newer frequency range checking

Implement new method for doing integer range checking, so that we can
more intelligently range-check radio and tv ranges at once.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5049): Pvrusb2: Enable radio mode for 24xxx devices
Mike Isely [Thu, 28 Dec 2006 02:26:55 +0000 (23:26 -0300)]
V4L/DVB (5049): Pvrusb2: Enable radio mode for 24xxx devices

These changes implement correct audio routing for radio mode on a
24xxx device.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5048): Pvrusb2: v4l2 API implementation frequency tweaks
Mike Isely [Thu, 28 Dec 2006 02:25:06 +0000 (23:25 -0300)]
V4L/DVB (5048): Pvrusb2: v4l2 API implementation frequency tweaks

Report and set correctly converted frequency to/from a V4L2 app.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5047): Pvrusb2: Fix tuning calculation when in radio mode
Mike Isely [Thu, 28 Dec 2006 02:23:22 +0000 (23:23 -0300)]
V4L/DVB (5047): Pvrusb2: Fix tuning calculation when in radio mode

Frequency units in V4L2 are apparently different when in radio mode
compared to tv mode.  Why?  Who knows.  This change adapts the driver
appropriately - so that internally we always only deal in Hz and don't
have to muck with craziness like this.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5046): Pvrusb2: Fix tuner frequency calculation
Mike Isely [Thu, 28 Dec 2006 02:21:34 +0000 (23:21 -0300)]
V4L/DVB (5046): Pvrusb2: Fix tuner frequency calculation

A conversion from Hz to V4L frequency units was accidentally removed
by an earlier change.  Restore it.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5045): Pvrusb2: Fix heap corruption introduced by radio mods
Mike Isely [Thu, 28 Dec 2006 02:19:42 +0000 (23:19 -0300)]
V4L/DVB (5045): Pvrusb2: Fix heap corruption introduced by radio mods

We can't allocate v4l device structures in a block, since the v4l core
governs when each device actually gets freed.  This bug was introduced
as part of the core radio implementation.  Fix it.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5044): Pvrusb2: Allow overriding vbi and radio device minor numbers
Mike Isely [Thu, 28 Dec 2006 02:17:26 +0000 (23:17 -0300)]
V4L/DVB (5044): Pvrusb2: Allow overriding vbi and radio device minor numbers

Support specification of vbi and radio device minor numbers in a
manner similar to the video device minor number.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5043): Pvrusb2: video standard broadcast fix for radio mode
Mike Isely [Thu, 28 Dec 2006 02:14:54 +0000 (23:14 -0300)]
V4L/DVB (5043): Pvrusb2: video standard broadcast fix for radio mode

Ensure we don't accidentally broadcast the standard while in radio mode.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5042): Pvrusb2: Make units uniform when tracking tuning frequency
Mike Isely [Thu, 28 Dec 2006 02:13:53 +0000 (23:13 -0300)]
V4L/DVB (5042): Pvrusb2: Make units uniform when tracking tuning frequency

The initial radio implementation used different units for tuning when
in radio mode.  This changes everything to Hz.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5041): Pvrusb2: Use separate enumeration for get/store of minor number
Mike Isely [Thu, 28 Dec 2006 02:12:28 +0000 (23:12 -0300)]
V4L/DVB (5041): Pvrusb2: Use separate enumeration for get/store of minor number

Use separate enum for get/store of minor number; we want pvr2_config
to go away eventually and since it really means something different,
don't use it here

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5040): Pvrusb2: Use enumeration for minor number get / store code
Mike Isely [Thu, 28 Dec 2006 02:11:22 +0000 (23:11 -0300)]
V4L/DVB (5040): Pvrusb2: Use enumeration for minor number get / store code

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5039): Pvrusb2: Implement /dev/radioX
Pantelis Koukousoulas [Thu, 28 Dec 2006 02:09:55 +0000 (23:09 -0300)]
V4L/DVB (5039): Pvrusb2: Implement /dev/radioX

The "main" V4L2 interface patch. This is yet very incomplete, incorrect and
probably inappropriate for inclusion as-is, but at least with this I 'm able
to tune and play radio through a V4L2 program (pvr-radio.c, a "thumb" version
of ivtv-radio.c with just the essentials).

Therefore, it kinda gives an idea of what is needed to support this, hm,
interface (partly used also by e.g., kradio). Please point out any mistakes
on this code. I 'm sure I 'm messing up some struct initialization somewhere
but currently I 'm too lazy to actually think this through until I complete
the functionality (e.g., handle the VIDIOC_S_STD, ENUMINPUT, etc ioctls
appropriately).

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5038): Pvrusb2: Implement stream claim checking function
Pantelis Koukousoulas [Thu, 28 Dec 2006 02:08:55 +0000 (23:08 -0300)]
V4L/DVB (5038): Pvrusb2: Implement stream claim checking function

Add (and expose) a new function, pvr2_channel_check_stream_no_lock(), in
pvrusb2-context.c. This is hopefully the last V4L2 interface related patch
to change anything outside pvrusb2-v4l2.c.

We need this to implement the open() for the radio device. The reason is
that within the *enter_context() section of open() we need to ensure nobody
is streaming and if we cannot, we should cleanup after ourselves and return
 -EBUSY. We cannot just use claim_stream() because:

   1) That would cause a deadlock trying to re-acquire the context lock
   2) We only need to ensure that nobody is streaming. We don't need to
      actually acquire the stream.

Again, this is a kinda ugly patch. Feel free to improve.

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5037): Pvrusb2: Implement multiple minor device number handling
Pantelis Koukousoulas [Thu, 28 Dec 2006 02:07:58 +0000 (23:07 -0300)]
V4L/DVB (5037): Pvrusb2: Implement multiple minor device number handling

This is the first patch in preparation of the V4L2/IVTV radio interface.
It does away with the assumption of only one minor per device. It also
adds a file to show the radio minor as well. This can be useful for a
program like pvr-radio.c (when it grows up), since this way it can search
for the minor of the /dev/radioX device it opened and use the video minor
of the same driver instance to get to the actual stream.

The implementation looks kinda ugly. Feel free to improve (that is the
reason behind separate patches anyway).

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5036): Pvrusb2: Fix for min/max control value checking
Pantelis Koukousoulas [Thu, 28 Dec 2006 02:06:54 +0000 (23:06 -0300)]
V4L/DVB (5036): Pvrusb2: Fix for min/max control value checking

In the previous patch we exploited the get_{min,max}_value facility to adjust
min/max allowable frequencies on the fly, depending on tuner mode.

Unfortunately, this facility was not used inside the *sym_to_val() function
that translates what we echo to sysfs, which means we got an -ERANGE despite
asking for a frequency between what we read to be min/max.
This patch corrects this small omission.

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5035): Pvrusb2: Enable radio mode round #2
Pantelis Koukousoulas [Thu, 28 Dec 2006 02:06:04 +0000 (23:06 -0300)]
V4L/DVB (5035): Pvrusb2: Enable radio mode round #2

This is the logic that:
  a) Ensures /sys/class/pvrusb2/sn-*/ctl_frequency/{max,min}_val are
     "automagically" reset to sane values on each mode change.

  b) Allows tuning to a radio frequency by something like:
     echo `perl -e "print int(94.9*16000 + 0.5)"` \
       > /sys/class/pvrusb2/sn-*/ctl_input/cur_val

The trick was to take advantage of the already existing .get_{min,max}_value
function pointers in pvr2_ctrl, to "dynamically override" the hardcoded values
for min/max frequency at runtime.

For a moment I thought to dispose of the hardcoded MIN/MAX_FREQ and use the
hirange/lowrange fields of the v4l2_tuner struct instead, but then I see that
tuner-core.c kinda hardcodes these as well, so I decided to not bother.

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5034): Pvrusb2: Enable radio mode round #1
Pantelis Koukousoulas [Thu, 28 Dec 2006 02:05:19 +0000 (23:05 -0300)]
V4L/DVB (5034): Pvrusb2: Enable radio mode round #1

This is the logic that supports switching modes via e.g.,
  echo radio > /sys/class/pvrusb2/sn-*/ctl_input/cur_val.

To do the mode switching we need to:
a) broadcast AUDC_SET_RADIO and
b) issue the CX2341X_ENC_MUTE_VIDEO command to the encoder.

The first is done by adding a new pvr2_i2c_op and having it trigger on
input change, the second by adding this command in pvr2_encoder_start()
and requesting an encoder restart on input change by setting
stale_subsys_mask appropriately.

The clues about AUDC_SET_RADIO and CX2341X_ENC_MUTE_VIDEO were kindly
provided by Hans Verkuil on the pvrusb2 mailing list. The idea to
implement mode switching this way (on input change) is due to Mike Isely.

Why AUDC_SET_RADIO/VIDIOC_S_STD are used for switching? I can 't be sure,
but I think this can be traced to a cornell student being the first to
implement radio support in ivtv "as a different standard". I think the
rest just evolved from there (it 's in the ivtv ML archives).

Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5074): Some fixes at stream waitqueue on vivi
Mauro Carvalho Chehab [Sun, 14 Jan 2007 11:33:24 +0000 (08:33 -0300)]
V4L/DVB (5074): Some fixes at stream waitqueue on vivi

There are several potential troubles on vivi waitqueue code:
- Watchdog timer should be reset at every received frame;
- Watchdog timer should be reset at the beginning of vivi_thread();
- Checks for errors when creating a newer thread with kernel_thread();
- Wake up vivi_thread() after creating it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5073): Fix OOPS on some waitqueue conditions
Mauro Carvalho Chehab [Sat, 13 Jan 2007 12:25:16 +0000 (09:25 -0300)]
V4L/DVB (5073): Fix OOPS on some waitqueue conditions

If for some reason vivi_thread() fails, vivi will suffer an OOPS at
thread stop code, since waitqueue wouldn't be properly initializated.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5070): Budget-ci: add support for the Technotrend 1500 bundled remote
Ville-Pekka Vainio [Fri, 12 Jan 2007 17:06:21 +0000 (14:06 -0300)]
V4L/DVB (5070): Budget-ci: add support for the Technotrend 1500 bundled remote

The keymap is based on a previous patch by Jussi Kukkonen.
This remote is identified by subsystem_device id 0x1010.

Signed-off-by: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5068): Fix authorship references
Mauro Carvalho Chehab [Tue, 9 Jan 2007 14:20:59 +0000 (11:20 -0300)]
V4L/DVB (5068): Fix authorship references

Bill Dirks asked me to update his entries at kernel files, since
he change his e-mail.
I've also updated a few web broken links or obsolete info to the curent
sites where V4L drivers and API are being discussed currently.

CC: Bill Dirks <bill@thedirks.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (5064): ET61X251 driver updates.
Luca Risolia [Mon, 8 Jan 2007 14:38:36 +0000 (11:38 -0300)]
V4L/DVB (5064): ET61X251 driver updates.

- Implement audio ioctl's and VIDIOC_ENUM_FRAMESIZES
- Documentation updates
- Generic improvements

Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>