Commit Graph

3504 Commits

Author SHA1 Message Date
Hans Verkuil d45b9b8ab4 V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings
Fix sparse warnings. None are serious, but cutting down on these helps find
future serious sparse warnings/errors.

Redid the av7710.c patch based on a suggestion by Oliver Endriss.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:58 -02:00
Mike Isely 2bb87c24d7 V4L/DVB (8902): pvrusb2: Remove comment lines which refer to checkpatch's behavior
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:58 -02:00
Mike Isely 0cc1186712 V4L/DVB (8901): pvrusb2: Disable virtual IR device when not needed.
Disable "virtual" IR receiver on for 24xxx devices that have an
internal IR blaster.  In that case there's another another IR
receiver present and to leave the virtual receiver available
just causes confusion.  This means that 24xxx users will no
longer see a phantom IR chip.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely 432907f750 V4L/DVB (8900): pvrusb2: Implement cropping pass through
This builds upon the previous pvrusb2 change to more formally
implement full cropping support.  This enables access from the
driver's V4L interface, and enables access to full capabilities from
sysfs as well.  Note that this is only effective when in analog mode.
It also will only work when the underlying digitizer's driver (saa7115
or cx25840 depending on the hardware) also implements the appropriate
functions.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely 0b7c2c9598 V4L/DVB (8899): pvrusb2: Implement default value retrieval in sysfs interface
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely 26dd1c57a0 V4L/DVB (8898): pvrusb2: Be able to programmatically retrieve a control's default value
The pvrusb2 control mechanism up until now has used a constant int to
hold a control's default value.  This change makes it possible to
retrieve the control's default through some other means, e.g. as a
result of a query from lower level software.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely 755879c66b V4L/DVB (8897): pvrusb2: Mark crop window size change as being disruptive to the encoder
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
vdb128@picaros.org e784bfb93c V4L/DVB (8896): pvrusb2: Implement crop support
Implement pvrusb2 driver plumbing to support cropping.  Submitted by a
pvrusb2 user.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely fe15f13679 V4L/DVB (8895): pvrusb2: Fail gracefully if an alien USB ID is used
The driver includes an internal table specifying additional
information on a per device-type basis.  This works great until
somebody tries to run-time associate another USB ID with the driver.
This change should hopefully allow the driver to fail gracefully under
such a circumstance.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely 157afbc0de V4L/DVB (8894): pvrusb2: Remove BKL
The earlier change from Hans Verkuil that pushed the BKL from
video_open() down into the drivers should be unneeded for the pvrusb2
driver.  This driver's implementation for open already protects its
internal structures through other means, thus the BKL is not required.
This change reverses Hans' previous change, for the pvrusb2 driver.

It probably would have been a good idea for Hans to previously have
asked for my ack before committing his change.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Mike Isely 5f33df1443 V4L/DVB (8893): pvrusb2: Add comment elaborating on direct use of swab32()
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:57 -02:00
Alexander Beregalov 26d2e854bc V4L/DVB (8559): replace __FUNCTION__ with __func__
v4l: replace __FUNCTION__ with __func__

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:56 -02:00
Jean Delvare eb1b27bd86 V4L/DVB (8879): bttv: Don't unmask VPRES interrupt
When the input is set to tuner and no antenna is connected, the BT848
can flood VPRES interrupts. So we don't want to enable this type of
interrupts when the input it set to tuner.

As we don't do anything when receiving such an interrupt anyway, the
easiest fix is to simply not unmask this specific interrupt.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:56 -02:00
Hans Verkuil 6ea9a1829a V4L/DVB (8857): v4l2-dev: replace panic with BUG
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:56 -02:00
Hans Verkuil 20c104d0a4 V4L/DVB (8856): v4l: fix assorted compile warnings/errors
BIT define conflicts on kernels < 2.6.24, byteorder/swab.h doesn't need
to be included at all.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:56 -02:00
Hans Verkuil 7f8ecfab7a V4L/DVB (8852): v4l2: use register_chrdev_region instead of register_chrdev
Replace the old register_chrdev with the more flexible register_chrdev_region.

Ensure that the release() is called when the very last chardev usage was
released, and not when the sysfs devices were removed. This should simplify
hotpluggable drivers considerably.

Tested-by: Mike Isely <isely@isely.net>
Tested-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: David Ellingsworth <david@identd.dyndns.org>
Reviewed-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:56 -02:00
Hans Verkuil 187565c43a V4L/DVB (8850): bt856: fix define conflict
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:56 -02:00
Laurent Pinchart 4e08caf0cb V4L/DVB (8847): uvcvideo: Add support for a Bison Electronics webcam found in the Fujitsu Amilo SI2636.
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Laurent Pinchart 08ebd003d9 V4L/DVB (8846): uvcvideo: Supress spurious "EOF in empty payload" trace message
Pass the payload size instead of the header size to uvc_video_decode_end() to
avoid generating an extra trace message for each frame.

Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Dean Anderson 22b88d48a0 V4L/DVB (8845): s2255drv: adds JPEG compression quality control
adds VIDIOC_S_JPEGCOMP and VIDIOC_G_JPEGCOMP ioctls for
controlling JPEG compression quality.

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
David Howells abc94fc8fe V4L/DVB (8838): CRED: Wrap task credential accesses in video input drivers
Wrap access to task credentials so that they can be separated more easily from
the task_struct during the introduction of COW creds.

Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().

Change some task->e?[ug]id to task_e?[ug]id().  In some places it makes more
sense to use RCU directly rather than a convenient wrapper; these will be
addressed by later patches.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: James Morris <jmorris@namei.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Steven Toth 4c56b04af6 V4L/DVB (8807): Add DVB support for the Leadtek Winfast PxDVR3200 H
This patch is on behalf of Stephen Backway <stev391@email.com>, and
represents two patches I received (and some subsequent whitespace
cleanup I had due to how I pulled the patches).

From the original author:

a) Add DVB support for the Leadtek Winfast PxDVR3200 H.

b) The tuner callback previously checked the command 3 times:
1) To see if it was the XC2028_RESET_CLK
2) To see if it was not the XC2028_RESET_TUNER
3) To see if it was the XC2028_RESET_TUNER
This patch removes the third check.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Stephen Backway <stev391@email.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Harvey Harrison ba77531f51 V4L/DVB (8800): [v4l-dvb-maintainer] [PATCH] v4l: mt9m111.c make function static
drivers/media/video/mt9m111.c:758:5: warning: symbol 'mt9m111_restore_state' was not declared. Should it be static?

New warning in next-20080825

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Dmitry Belimov 92c36147a7 V4L/DVB (8797): A simple state machine was added to saa7134_ts.
A simple state machine was added to saa7134_ts. It has three states:

        SAA7134_TS_STOPPED
        SAA7134_TS_BUFF_DONE
        SAA7134_TS_STARTED

When buffer_setup is run we start the TS initialization: set SAA7134_TS_STOPPED.
When all buffers are prepared we write data into DMA register and set
SAA7134_TS_BUFF_DONE.
When the first buffer is active start TS and set SAA7134_TS_STARTED.
When ts_release is called stop TS and set SAA7134_TS_STOPPED.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Dmitry Belimov 8809b9cc86 V4L/DVB (8796): saa7134-empress: remove incorrect IRQ defines for TS
SAA7134_IRQ1_INTE_RA2_3 and SAA7134_IRQ1_INTE_RA2_2 are used for planar video,
not for TS.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Dmitry Belimov f03813e4d1 V4L/DVB (8795): saa7134-empress: insert leading null bytes for Beholder M6 empress cards
Additional code to improve the init sequence and add board type tests
were done by Hans Verkuil.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:55 -02:00
Hans Verkuil 9d95af9d09 V4L/DVB (8791): v4l2-dev: do not clear the driver_data field
The driver_data field of the device structure was zeroed, thus losing
this information. Many drivers set this up before calling
video_device_register, so we have to ensure that it isn't lost.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil c170ecf434 V4L/DVB (8788): v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp)
Use the new video_drvdata(filp) function where it is safe to do so.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil bfa8a273bb V4L/DVB (8787): v4l2-dev: cleanups and add video_drvdata helper function
Cleanup v4l2-dev.[ch], add/improve comments and add a new helper
function: video_drvdata() that can get the private driver data from
a file struct.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil 601e9444f2 V4L/DVB (8786): v4l2: remove the priv field, use dev_get_drvdata instead
Remove the priv field and let video_get/set_drvdata use dev_get_drvdata
and dev_set_drvdata instead.

Convert all drivers that still used priv directly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil d6e7497eaf V4L/DVB (8784): v4l2-dev: make the video_device's release callback mandatory
Now that all drivers set the release callback in the video_device
struct we can put in a BUG_ON in video_register_device to ensure that
the callback is always there.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil aa5e90af7d V4L/DVB (8783): v4l: add all missing video_device release callbacks
All drivers that call video_device_register where checked to see if they
set the release callback of struct video_device. Where that callback was
missing it was added.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil f9e86b5e9d V4L/DVB (8782): v4l2-dev: add video_device_release_empty
Add a second release function: video_device_release_empty
It can be used by drivers that have statically allocated
video_device structs.

Its use usually, but not always, indicates laziness on the
part of the driver programmer.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil cb353588e1 V4L/DVB (8781): v4l2-dev: remove obsolete video_exclusive_open/release
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:54 -02:00
Hans Verkuil 7d43cd53c8 V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release
Handle the video_exclusive_open/release functionality inside the
driver.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Andy Walls 3b5df8ea40 V4L/DVB (8774): cx18: Have CX23418 release buffers at end of capture.
cx18: Have CX23418 release buffers at end of capture.  The CX23418 reuses task
handles so we need to have it release the buffers associated with a task handle
at the end of a capture.  If we don't, buffer ids used for one type of stream
in the driver (MPEG, TS, PCM), could be used for another type of stream by the
CX23418, if a previously used handle is assigned to a different type of stream.
The driver would drop valid buffers when this happened.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Andy Walls d3c5e70755 V4L/DVB (8773): cx18: Fix cx18_find_handle() and add error checking
cx18: Fix cx18_find_handle() and add error checking.  cx18_find_handle() did
not find a good task handle and would use the invalid task handle under common
conditions.  Added a define for the invalid task handle and added error checking
as well.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Andy Walls b04bce476c V4L/DVB (8772): cx18: Convert cx18_queue buffers member to atomic_t
cx18: Convert cx18_queue buffers member to atomic_t.  This allows safe
concurrent access to check if a queue has data without having to acquire the
queue spinlock.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Andy Walls 59ba2b0022 V4L/DVB (8771): cx18: Remove redundant struct cx18_queue length member.
cx18: Remove redundant struct cx18_queue length member. It can be trivially
computed from queue->buffers * stream->buf_size, if ever really needed.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Andy Walls a928880a5b V4L/DVB (8770): cx18: get rid of ununsed buffers stolen field
cx18: get rid of ununsed buffers stolen field.  It's an unused holdover
from ivtv.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Laurent Pinchart 9b0ae867a6 V4L/DVB (8754): uvcvideo: Implement the USB power management reset_resume method.
When a suspended device has been reset instead of being resumed, USB core
calls the reset_resume method if available instead of unbinding and rebinding
the device.

This patch implements reset_resume by reusing the current resume
implementation and simplifies the resume method by skipping the controls
restore stage. Resuming from autosuspend should be faster.

Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Dean Anderson 14d962602c V4L/DVB (8752): s2255drv: firmware improvement patch
Fix for reloading firmware when removing and reloading driver
Handshaking for firmware loading and changing modes.
Removes the restriction of one user per channel at a time.
JPEG capture mode added.

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:53 -02:00
Henrik Kretzschmar ee7aa9f821 V4L/DVB (8750): V4L: check inval in video_register_device_index()
Better check the video_device pointer before using it.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Henrik Kretzschmar ef0e3c26ef V4L/DVB (8748): V4L: fix return value of meye probe callback
The return vaule of the probe function should return -ENOMEM instead
of -EBUSY if video_device_alloc() fails.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Hans Verkuil eda9e4e294 V4L/DVB (8746): v4l-dvb: fix compile warnings.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Hans Verkuil 614b147b4f V4L/DVB (8745): v4l2: fix a bunch of compile warnings.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Harvey Harrison 513edce60f V4L/DVB (8742): pvrusb2: use proper byteorder interface
___swab32 is an internal detail of the implementation.

Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Antoine Jacquet 33d27a4516 V4L/DVB (8732): zr364xx: handle video exclusive open internaly
Count the users and do not use video_exclusive_open() anymore.

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Antoine Jacquet 69025c934b V4L/DVB (8731): zr364xx: remove BKL
Remove the Big Kernel Lock from zr364xx driver after pushdown.
Now using an internal locking mecanism on open().

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Julia Lawall e9e24cee67 V4L/DVB (8729): Use DIV_ROUND_UP
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

An extract of the semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@haskernel@
@@

@depends on haskernel@
expression n,d;
@@

(
- (n + d - 1) / d
+ DIV_ROUND_UP(n,d)
|
- (n + (d - 1)) / d
+ DIV_ROUND_UP(n,d)
)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP((n),d)
+ DIV_ROUND_UP(n,d)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP(n,(d))
+ DIV_ROUND_UP(n,d)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00