Commit Graph

4862 Commits

Author SHA1 Message Date
Trent Piepho
185cda9666 V4L/DVB (11269): cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_cap
The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the 'type'
field since it must already be set to VIDEO_CAPTURE.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:45 -03:00
Trent Piepho
f29816bc31 V4L/DVB (11268): cx23885-417: Don't need to zero ioctl parameter fields
The v4l2 core code in v4l2_ioctl will zero out the structure the driver is
supposed to fill in for read-only ioctls.  For read/write ioctls, all the
fields which aren't supplied from userspace will be zeroed out.

Zeroing code is removed from enum_input, g_tuner, g_frequency, querycap,
enum_fmt_vid_cap, g_fmt_vid_cap, and try_fmt_vid_cap.

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.

There also appeared to be a copy and paste error in
vidioc_try_fmt_vid_cap() that would set f->fmt.pix.sizeimage to zero.

Note that the s_fmt_vid_cap method doesn't appear to actually do anything.
Whatever parameters were requested are just silently ignored.  Was this
intentional?  Who knows, as the commit log entry for the driver just says,
"Add generic cx23417 hardware encoder support." There are no docs.  A
comment like "this driver totally ignores the v4l2 spec w.r.t.
VIDIOC_S_FMT because ..." would have gone a long way.

Cc: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:45 -03:00
Trent Piepho
e33ee31ac3 V4L/DVB (11267): cafe_ccic: Remove buffer type check from XXXbuf
The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)bufs() and vidioc_reqbufs().

This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with cafe_vidioc_reqbufs(),
cafe_vidioc_querybuf(), cafe_vidioc_qbuf(), and cafe_vidioc_dqbuf().

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers.  Thus, there is no need to check or set the buffer's
'type' field since it must already be set to VIDEO_CAPTURE.  So the
check in cafe_vidioc_enum_fmt_vid_cap() can be removed.

The 'index' field of v4l2_buffer is unsigned so the checks for it being
less than zero can be removed too.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:45 -03:00
Trent Piepho
4f5a7444ba V4L/DVB (11266): vino: Remove code for things already done by video_ioctl2
The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used in vidioc_(g|s)_parm,
vidioc_(q|dq|query)buf, and vidioc_reqbufs.

Remove buffer type checking from vino_g_parm(), vino_s_parm(),
vino_reqbufs(), vino_querybuf(), vino_qbuf(), and vino_dqbuf().  This
reduced the indent level of the code so a few lines can be wrapped better.
Also fixed the C++ type comments.

The v4l2-ioctl core also provides structs that have been pre-zeroed for all
fields that driver is supposed to fill in, so remove zeroing code from
vino_enum_fmt_vid_cap().  Also, the format index is unsigned so it's not
necessary to check if it's less than zero.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:45 -03:00
Trent Piepho
2509e1cb33 V4L/DVB (11265): stkwebcam: Remove buffer type check from g_parm and q/dq/reqbufs
The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)bufs(), vidioc_reqbufs() and now vidioc_(s|g)_parm.

This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with vidioc_g_parm(), vidioc_qbuf(),
vidioc_dqbuf(), and vidioc_reqbufs().

Cc: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:45 -03:00
Trent Piepho
020b882b1d V4L/DVB (11264): omap24xxcam: Remove buffer type check from vidioc_s/g_parm
The v4l2-ioctl core now only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used in vidioc_(g|s)_parm.

This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with vidioc_s_parm() and vidioc_g_parm().

Cc: Sakari Ailus <sakari.ailus@nokia.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:45 -03:00
Trent Piepho
5a27578667 V4L/DVB (11263): gspca: Stop setting buffer type, and avoid memset in querycap
The v4l2-ioctl core checks the buffer type now by only allowing buffer
types for which the corresponding ->vidioc_try_fmt_xxx() methods are
defined.

This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with vidioc_g_parm.  Also,
->vidioc_enum_fmt_vid_cap() is only called for VIDEO_CAPTURE buffers.
There is no need to set the buffer type since it must already be the
correct value.

The struct which ->vidioc_querycap() is supposed to fill in is already
zeroed so it's not necessary to call memset on it.

Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Trent Piepho
601bc29845 V4L/DVB (11262): bttv: Remove buffer type check from vidioc_g_parm
The v4l2-ioctl core only allows buffer types for which the corresponding
->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(q|dq|query)bufs(), vidioc_reqbufs() and now vidioc_(s|g)_parm.

The driver was only allowing VIDEO_CAPTURE buffers for g_parm, but since
the driver defines ->vidioc_try_fmt_vid_overlay() and
->vidioc_try_fmt_vbi_cap() it will now allow VIDEO_OVERLAY and VBI_CAPTURE
buffers as well.  This should be fine as the driver only fills in the frame
rate field, which is just as valid for video overlay and vbi capture as it
is for video capture.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Trent Piepho
34796bc009 V4L/DVB (11260): v4l2-ioctl: Check format for S_PARM and G_PARM
Return EINVAL if VIDIOC_S/G_PARM is called for a buffer type that the
driver doesn't define a ->vidioc_try_fmt_XXX() method for.  Several other
ioctls, like QUERYBUF, QBUF, and DQBUF, etc.  do this too.  It saves each
driver from having to check if the buffer type is one that it supports.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Hans Verkuil
3fd8ab30c1 V4L/DVB (11256): dabusb: fix compile warning.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Hans Verkuil
5fed935c4e V4L/DVB (11254): cs53l32a: remove legacy support.
All drivers that use this device have been converted to v4l2_subdev, so
there is no more need to support autoprobing on kernels >= 2.6.22.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Hans Verkuil
195784b8ef V4L/DVB (11253): saa7134: fix RTD Embedded Technologies VFG7350 support.
This card has the saa6752hs on 7-bit address 0x21 instead of 0x20. Add
support in the card definition struct to select which address to use and
update the definitions accordingly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Michael Krufky
e7ddcd98a1 V4L/DVB (11251): tuner: prevent invalid initialization of t->config in set_type
Drivers that don't set "config" directly in the set_type function will
end up with an invalid configuration value. Check that the value is sane,
otherwise initialize to 0.

Thanks to James Edward Geiger & Steven Toth for reporting this bug.

Cc: Steven Toth <stoth@linuxtv.org>
Cc: James Edward Geiger <james.e.geiger@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:43 -03:00
Janne Grunau
7d771ff0dc V4L/DVB (11247): hdpvr: empty internal device buffer after stopping streaming
Makes the next capturing starting faster and more reliable.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:43 -03:00
Janne Grunau
9ef77adfb9 V4L/DVB (11246): hdpvr: convert printing macros to v4l2_* with struct v4l2_device
it gives us a nice and unique prefix per device

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:43 -03:00
Janne Grunau
06630aec92 V4L/DVB (11245): hdpvr: add struct v4l2_device
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:43 -03:00
Alan Cox
fbc0ae205c V4L/DVB (11243): cx88: Missing failure checks
The ioremap one was reported in October 2007 (Bug 9146), the kmalloc one
was blindingly obvious while looking at the ioremap one

The bug suggests some other configuration for lots of I/O memory (32MB per
device is ioremapped) but I'll leave that to the real maintainers

Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:43 -03:00
Daniel Glöckner
c01f1a5a24 V4L/DVB (11242): allow v4l2 drivers to provide a get_unmapped_area handler
Shared memory mappings on nommu machines require a get_unmapped_area
file operation that suggests an address for the mapping. This patch
adds a way for v4l2 drivers to provide this callback.

Signed-off-by: Daniel Glöckner <dg@emlix.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:43 -03:00
Randy Dunlap
8737f66e64 V4L/DVB (11237): media/zoran: fix printk format
Fix printk format warning:

drivers/media/video/zoran/zoran_driver.c:345: warning: format '%lx'
expects type 'long unsigned int', but argument 5 has type 'phys_addr_t'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:42 -03:00
Stoyan Gaydarov
5ed2b6419e V4L/DVB (11235): changed ioctls to unlocked
Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:42 -03:00
Janne Grunau
48f98f7557 V4L/DVB (11231): hdpvr: locking fixes
unlock io_mutex in hdpvr_stop_streaming hdpvr_disconnect to allow the
streaming worker to stop before we flush the workqueue.
do not return to user space with mutex held in vidioc_encoder_cmd with
an unknown encoder command.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:42 -03:00
Janne Grunau
d2ff3ec816 V4L/DVB (11230): hdpvr: return immediately from hdpvr_poll if data is available
simplifies check for available data with hdpvr_get_next_buffer

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:42 -03:00
Janne Grunau
a50ab29185 V4L/DVB (11229): hdpvr: set usb interface dev as parent in struct video_device
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:42 -03:00
Janne Grunau
d211bfcbd0 V4L/DVB (11228): hdpvr: use debugging macro for buffer status
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:42 -03:00
Mauro Carvalho Chehab
031002d78b V4L/DVB (11226): avoid warnings for request_ihex_firmware on dabusb and vicam
drivers/media/video/usbvideo/vicam.c: In function ‘vicam_open’:
drivers/media/video/usbvideo/vicam.c:194: warning: ‘fw’ may be used uninitialized in this function
drivers/media/video/dabusb.c: In function ‘dabusb_probe’:
drivers/media/video/dabusb.c:337: warning: ‘fw’ may be used uninitialized in this function

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Douglas Schilling Landgraf
d99819d3f7 V4L/DVB (11222): gspca - zc3xx: The webcam DLink DSB - C320 has the sensor pas106.
Reported-by: Bruna Griebeler <bruna@griebeler.com>
Tested-by: Bruna Griebeler <bruna@griebeler.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Hans de Goede
3dee4dfed3 V4L/DVB (11221): gspca - sonixj: Prefer sonixj instead of sn9c102 for 0471:0327.
Prefer the gspca sonixj driver for the Philips SPC600NC webcam instead of
the sn9c102 driver. As we've got userreports that it works with the gspca
driver, whereas it fails with the sn9c102 driver, see:
https://bugzilla.redhat.com/show_bug.cgi?id=477111

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Jean-Francois Moine
c0c4c8937a V4L/DVB (11220): gspca - finepix: Use a workqueue for streaming.
Tested-by: Frank Zago <frank@zago.net>
Acked-by: Frank Zago <frank@zago.net>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Jean-Francois Moine
67e4542558 V4L/DVB (11219): gspca - sq905: Optimize the resolution setting.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Jean-Francois Moine
f6b8332b5e V4L/DVB (11218): gspca - sq905: Update the frame pointer after adding the last packet.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Theodore Kilgore
14a19c0a22 V4L/DVB (11213): gspca - sq905c: New subdriver.
The code in the new sq905c.c is based upon the structure of the code in
gspca/sq905.c, and upon the code in libgphoto2/camlibs/digigr8, which supports
the same set of cameras in stillcam mode. I am a co-author of gspca/sq905.c and
I am the sole author of libgphoto2/camlibs/digigr8, which is licensed under the
LGPL. I hereby give myself permission to use my own code from libgphoto2 in
gspca/sq905c.c.

Signed-off-by: Theodore Kilgore <kilgota@auburn.edu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
58e2ded892 V4L/DVB (11212): gspca - vc032x: Use YVYU format for sensor mi1320_soc.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
33f5b07e30 V4L/DVB (11211): gspca - vc032x: Simplify the i2c write function.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
db786a3fde V4L/DVB (11209): gspca - vc032x: New sensor mi1320_soc and webcam 15b8:6001 added.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Mike Isely
dc070bccde V4L/DVB (11208): pvrusb2: Use v4l2_device_disconnect()
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Mike Isely
2a6b627f8b V4L/DVB (11207): pvrusb2: Add composite and s-video input support for OnAir devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Mike Isely
bb65242aa3 V4L/DVB (11206): pvrusb2: Add sub-device for demod
Forgot to include the tda9887 component when moving to v4l2-subdev.  I
got fooled because its name is "tuner", the same as the tuner module.
Silly me.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
defeb0b94b V4L/DVB (11205): pvrusb2: Remove ancient IVTV specific ioctl functions
Remove ancient IVTV_IOC_G_CODEC and IVTV_IOC_S_CODEC ioctl functions
from the pvrusb2 driver.  These are very very old, were non-standard,
and were only present to keep MythTV happy (their implementation did
nothing except to report success).  That was long ago; no recent
versions of MythTV should require this anymore.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
5a3bab8eb0 V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now
This change removes the old i2c module controlling layer from the
pvrusb2 driver.  This is code that first had appeared in the driver
back in December 2005.  It's history.  Now we use v4l2-subdev.  Please
note also that with this change, the driver will no longer be usable
in kernels older that 2.6.22.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
2eb563b7e7 V4L/DVB (11203): pvrusb2: Implement better reporting on attached sub-devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
fd28aeafd6 V4L/DVB (11202): pvrusb2: Fix slightly mis-leading header in debug interface output
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
7dfdf1ee14 V4L/DVB (11201): pvrusb2: Fix space-after-comma idiocy
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
69ea3c1cbc V4L/DVB (11200): pvrusb2: Make a bunch of dvb config structures const (trivial)
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
dd5f322f35 V4L/DVB (11199): pvrusb2: Convert all device definitions to use new sub-device declarations
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
23334a22ea V4L/DVB (11198): pvrusb2: Define default I2C address for CS53L32A sub-device
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely
851981a1ee V4L/DVB (11197): pvrusb2: Fix incorrectly named sub-device ID
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
1dfe6c7794 V4L/DVB (11196): pvrusb2: Define default I2C addresses for msp3400 and saa7115 sub-devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
5c6cb4e251 V4L/DVB (11195): pvrusb2: Issue required core init broadcast to all sub-devices
The v4l2-subdev infrastructure requires that an initialization call
must be issued to all attached sub-devices before normal operation can
start.  This change satisfies that requirement.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
27764726a8 V4L/DVB (11194): pvrusb2: Implement mechanism to force a full sub-device update
When a pvrusb2 driver instance first initializes, we need to be sure
to send out a complete state update for everything to all attached
modules.  The old i2c layer did this by keeping a separate mask of
"stale" bits for each attached module - and setting that mask to all
stale when that module attaches.  But the new sub-device adaptation
I've implemented here no longer has per-module stale bits.  So instead
there's now a global "force dirty" bit that is set upon instance
initialization, before the sub-devices are attached.  After the first
update, this bit is cleared, allowing for normal update-on-dirty
behavior.  In this manner, we ensure that all sub-devices have been
properly synchronized at initialization.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
5e430ca5d2 V4L/DVB (11193): pvrusb2: Correct some trace print inaccuracies
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
e260508d64 V4L/DVB (11192): pvrusb2: Implement trace print for stream on / off action
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
0b46701499 V4L/DVB (11191): pvrusb2: Define default I2C address for cx25840 sub-device
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
75212a0273 V4L/DVB (11190): pvrusb2: Broadcast tuner type change to sub-devices
The tuner sub-device isn't going to work very well unless we tell it
the correct tuner type to use...

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely
b481880bff V4L/DVB (11189): pvrusb2: Deal with space-after-comma coding style idiocy
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
e68a619a1b V4L/DVB (11188): pvrusb2: Sub-device update must happen BEFORE state dirty bits are cleared
The sub-device update mechanism relies on various "dirty" bits in the
driver in order to know what pieces of state need to be propagated out
to the various sub-devices.  But that won't work if the dirty bits are
cleared before the update gets a chance to run.  This change ensures
that the update takes place before the dirty bits are cleared.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
0db8556805 V4L/DVB (11187): pvrusb2: Allow sub-devices to insert correctly
A sub-device won't successfully attach to our I2C adapter if its class
isn't set to zero.  Right the class is still set to
I2C_CLASS_TV_ANALOG in order to allow the old mechanism to still
work.  This change temporarily sets the class to zero during the
interval when the sub-device attaches.  This code will get removed
when the old i2c layer is finally removed from the driver.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
5f757ddd5f V4L/DVB (11186): pvrusb2: Fix bugs involved in listing of sub-devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
3ab8d29515 V4L/DVB (11185): pvrusb2: Fix uninitialized counter
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
ae111f76f7 V4L/DVB (11184): pvrusb2: Define default i2c address for wm8775 sub-device
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
bd14d4f8f4 V4L/DVB (11183): pvrusb2: Implement more sub-device loading trace and improve error handling
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
634ba268b9 V4L/DVB (11182): pvrusb2: Tie in cx25840 sub-device support
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely
1e481cca49 V4L/DVB (11181): pvrusb2: Fix silly 80 column issue
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:36 -03:00
Mike Isely
76891d6557 V4L/DVB (11180): pvrusb2: Tie in msp3400 sub-device support
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:36 -03:00
Mike Isely
4ecbc28d3d V4L/DVB (11179): pvrusb2: make sub-device specific update function names uniform
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:36 -03:00
Mike Isely
01c59df818 V4L/DVB (11178): pvrusb2: Make audio sample rate update into a sub-device broadcast
The pvrusb2 driver had previously been using i2c module specific calls
to set the sample rate (a long long time ago this was needed).  These
days it is safe to use a broadcast so let's just broadcast this when
communicating audio sample rate to sub-devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
6f9565120f V4L/DVB (11177): pvrusb2: Tie in saa7115 sub-device handling
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
5f6dae802c V4L/DVB (11176): pvrusb2: Tie in wm8775 sub-device handling
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
edb9dcb885 V4L/DVB (11175): pvrusb2: Implement sub-device specific update framework
Lay down a foundation whereby it becomes possible to send customized
updates to specific sub-devices.  (This becomes useful for routing
configuration, which is a very sub-device specific operation.)

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
858f910e86 V4L/DVB (11174): pvrusb2: Implement reporting of connected sub-devices
The pvrusb2 driver has a function that reports internal state.  It can
be accessed from either the debug interface or as the result of a v4l
log status request.  This change adds information listing sub-devices
to the report.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
20ae26c84e V4L/DVB (11173): pvrusb2: Fix backwards function header comments
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
1ab5e74fa3 V4L/DVB (11172): pvrusb2: Cause overall initialization to fail if sub-driver(s) fail
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely
af78e16b5d V4L/DVB (11171): pvrusb2: Tie in sub-device decoder start/stop
Implement code to send appropriate streaming start/stop commands to
attached sub-devices

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
6907205bcb V4L/DVB (11170): pvrusb2: Clean-up / placeholders inserted for additional development
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
00e5f73607 V4L/DVB (11169): pvrusb2: Note who our video decoder sub-device is, and set it up
Other code may need to treat the video decoder sub-device in a special
manner, so this change implements code to recognize when such a
sub-device is connected to the driver, does any special processing for
it, and notes who the device is for future reference.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
e3e76cbb4d V4L/DVB (11168): pvrusb2: Define value for a null sub-device ID
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
2641df3621 V4L/DVB (11167): pvrusb2: Tie in various v4l2 operations into the sub-device mechanism
This is another step in the v42l-subdev assimilation.  This implements
various call-outs to sub-devices based on state changes within the
pvrusb2 driver.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
40f07111be V4L/DVB (11166): pvrusb2: Implement status fetching from sub-devices
Implement status fetching operations in terms of calling out to
sub-device(s).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
d8f5b9ba82 V4L/DVB (11165): pvrusb2: Tie in debug register access to sub-devices
Implement tie-in for v4l2 debug register access such that the
appropriate attached sub-device is handled.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
ed3261a859 V4L/DVB (11164): pvrusb2: Tie-in sub-device log requests
Trigger a broadcast to attached sub-devices when a logging request is made.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely
5ceaad14ea V4L/DVB (11163): pvrusb2: Lay foundation for triggering sub-device updates
These changes set up the spot where we'll check for and set general
updates to any attached sub-devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
446dfdc6cc V4L/DVB (11162): pvrusb2: Tie up loose ends with v4l2-subdev setup
Tie up loose ends with v4l2-subdev setup.  Set attached module's group
ID to match our internal ID, emit a few useful messages when
sub-devices are dealt with, implement better error legs, and fix an
error in the old i2c layer (caused by changes related to the
v4l2-subdev work here).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
15b474423f V4L/DVB (11161): pvrusb2: Set i2c autoprobing to be off by default
In order to keep a sub-device from promiscuously attaching to the
pvrusb2 driver, the i2c adapter's class must be cleared.  This change
clears that class by default.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
6063a4422c V4L/DVB (11160): pvrusb2: whitespace tweaks
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
a932f50746 V4L/DVB (11159): pvrusb2: Providing means to stop tracking an old i2c module
This implements a temporary mechanism to "untrack" an i2c module from
the old i2c layer.  The v4l2-subdev related code in the driver will
use this to remove a sub-device from the old i2c layer.  In the end,
once the old i2c layer is removed, this will also eventually go away.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
e9c64a78db V4L/DVB (11158): pvrusb2: New device attribute mechanism to specify sub-devices
Set up new mechanism for declaring and loading appropriate sub-devices
when driver initializes.  This is another part of the v4l2-subdev
adoption.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
acd92d40cc V4L/DVB (11157): pvrusb2: whitespace trivial tweaks
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
a51f5000b7 V4L/DVB (11156): pvrusb2: Changes to further isolate old i2c layer
This introduces some additional isolation in the pvrusb2 from the old
i2c layer, a step along the way to separate the driver from that layer
and to make it easier to introduce the common v4l2-subdev framework as
the eventual replacement.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
b72b7bf5cb V4L/DVB (11155): pvrusb2: Set up v4l2_device instance
Define a v4l2_device instance in the pvrusb2 driver and initialize /
tear it down appropriately.  This is a step in the v4l2-subdev
adoption effort.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely
59af336795 V4L/DVB (11154): pvrusb2: Split i2c module handling from i2c adapter
This is the first step in the effort to move the pvrusb2 driver over
to using the v4l2-subdev framework.  This commit involves mainly
splitting apart pvrusb2-i2c-core - part of it is the driver's I2C
adapter driver and the rest is the old i2c module handling logic.  The
i2c module handling junk is moved out to pvrusb2-i2c-track and various
header references are correspondingly updated.  Yes, this patch has a
huge pile of checkpatch complaints, but I'm NOT going to fix any of
it.  Why?  First, I'm moving a large chunk of existing code and I'm
not going to spend time adjusting it to match someone's idea of coding
style.  Second, in the end I expect all that moved code to go away by
the time the rework is done so wasting time on it now to adhere to the
standard is in the end a large waste of time.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Janne Grunau
c457377a3a V4L/DVB (11152): hdpvr: Fix build with Config_I2C not set
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
235d0ff287 V4L/DVB (11146): gspca - vc032x: Change the probe sequence.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
e30bdc6693 V4L/DVB (11145): gspca - t613: Greater delay after om6802 reset.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
249fe889fd V4L/DVB (11144): gspca - t613: Don't re-read the ID registers at probe time.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
3da37e42ba V4L/DVB (11143): gspca - t613: Bad sensor detection.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Devin Heitmueller
fadadb7d7a V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers
Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory
is not permitted for DMA on the ARM platform.

Thanks to Paul Thomas <pthomas8589@gmail.com> for providing sample ARM
hardware that was experiencing the oops (tested on the at91rm9200 based
LinuxStamp).

Thanks to David Brownell <david-b@pacbell.net> for providing insight into the
ARM memory architecture.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Devin Heitmueller
9a4f8201a5 V4L/DVB (11141): em28xx: fix oops on ARM platform when allocating transfer buffers
Add missing URB_NO_TRANSFER_DMA_MAP flag, since	the use	of consistent memory
is not permitted for DMA on the ARM platform.

Thanks to Paul Thomas <pthomas8589@gmail.com> for providing sample ARM
hardware that was experiencing the oops (tested on the at91rm9200 based
LinuxStamp).

Thanks to David Brownell <david-b@pacbell.net> for providing insight into the
ARM memory architecture.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Devin Heitmueller
f876897015 V4L/DVB (11140): usbvision: fix oops on ARM platform when allocating transfer buffers
Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory
is not permitted for DMA on the ARM platform.

Thanks to Paul Thomas <pthomas8589@gmail.com> for providing sample ARM hardware
that was experiencing the oops (tested on the at91rm9200 based LinuxStamp).

Thanks to David Brownell <david-b@pacbell.net> for providing insight into the
ARM memory architecture.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:31 -03:00
Devin Heitmueller
62cfc346a3 V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions)
The HVR-900 did not have a remote control defined, so it would not work.  Add
the line for both versions of the product.

Thanks to Jens-Michael Hoffmann (#linuxtv user "jmho") for pointing out the
issue and testing the patch.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:31 -03:00
Mauro Carvalho Chehab
1398ae1fe6 V4L/DVB (11127): Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISE
There are several Kconfig items using CUSTOMIZE. Yet, most use the English
writing CUSTOMISE. This generates lots of trouble, because people sometimes type
the Kbuild item different.

Let's standardise every occurrence using the same syntax.

The changes were generated by this small shell script:

for i in `find linux -type f`; do sed s,CUSTOMIZE,CUSTOMISE,g $i >/tmp/a && mv /tmp/a $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:31 -03:00
Janne Grunau
e86da6f07e V4L/DVB (11125): fix mispelled Hauppauge in HD PVR and PVR USB2 driver comments
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:31 -03:00
Alan McIvor
dceaddb978 V4L/DVB (11124): Add support for ProVideo PV-183 to bttv
Add support for ProVideo PV-183 to bttv

This patch adds support for the ProVideo PV-183 card to the bttv
device driver. The PV-183 is a PCI card with 8 BT878 devices plus a Hint
Corp HiNT HB4 PCI-PCI Bridge. Each BT878 has two composite input channels
available. There are no tuners on this card.

Signed-off-by: Alan McIvor <alan.mcivor@reveal.co.nz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:31 -03:00
Hans Verkuil
acc5d851b8 V4L/DVB (11120): cafe_ccic: stick in a comment with a request for test results
Due to lack of hardware this conversion to v4l2_device/v4l2_subdev is
untested. If all goes well I should be able to test it in about a month,
but just in case I can't manage that it should be made clear in the code
that this isn't tested.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
69d94f7ec5 V4L/DVB (11118): cafe_ccic: replace debugfs with g/s_register ioctls.
Using VIDIOC_DBG_S/G_REGISTER is the standard way of reading/writing register
for advanced debugging under v4l2. In addition, using this means that the
cafe_ccic driver doesn't need to have knowledge about the used sensor: the
debug ioctl can be passed on to the sensor if it isn't for the host.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
b794aabff0 V4L/DVB (11117): ov7670: add support to get/set registers
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
ca07561ac7 V4L/DVB (11116): ov7670: cleanup and remove legacy code.
v4l2-i2c-drv-legacy.h and ov7670_command are no longer needed after the
cafe driver is converted to use v4l2_subdev.

Rather than using a large ov7670_control array, just call the handlers
via a simple switch and use v4l2_ctrl_query_fill() to handle queryctrl.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
8bcfd7af90 V4L/DVB (11115): cafe_ccic: use v4l2_subdev to talk to the ov7670 sensor.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
21508b902b V4L/DVB (11114): cafe_ccic: convert to v4l2_device.
Convert this driver to v4l2_device and removed the unnecessary cafe_dev_list.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
14386c2b77 V4L/DVB (11113): ov7670: convert to v4l2_subdev
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Hans Verkuil
2da9479aaa V4L/DVB (11112): v4l2-subdev: add support for TRY_FMT, ENUM_FMT and G/S_PARM.
These ops are used by the ov7670 driver, so these need to be added.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:30 -03:00
Mauro Carvalho Chehab
6a39a38e33 V4L/DVB (11110): au8522/au0828: Fix Kconfig dependencies
au8522 is now dependent of V4L2, as reported by Randy Dunlap
<randy.dunlap@oracle.com>:

au8522_decoder.c:(.text+0x199898): undefined reference to `v4l2_ctrl_query_fill'
au8522_decoder.c:(.text+0x1998b3): undefined reference to `v4l2_ctrl_query_fill'
au8522_decoder.c:(.text+0x199944): undefined reference to `v4l2_device_unregister_subdev'
au8522_decoder.c:(.text+0x19997c): undefined reference to `v4l2_chip_ident_i2c_client'
au8522_decoder.c:(.text+0x199f1e): undefined reference to `v4l2_i2c_subdev_init'

Cc: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:29 -03:00
Mauro Carvalho Chehab
80c6e358c1 V4L/DVB (11109): au0828: Fix compilation when VIDEO_ADV_DEBUG = n
As reported by Kyle McMartin and Randy Dunlap:

drivers/media/video/au0828/au0828-video.c:1438: error: 'const struct v4l2_subdev_core_ops' has no member named 'g_register'
drivers/media/video/au0828/au0828-video.c:1453: error: 'const struct v4l2_subdev_core_ops' has no member named 's_register'

This patch properly implements those two API ioctls only when debug is
enabled.

Cc: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:29 -03:00
Jean-Francois Moine
2ce949ec66 V4L/DVB (11106): gspca - ov534: New sensor ov965x and re-enable the webcam 06f8:3003
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:29 -03:00
Jean-Francois Moine
84fbdf87ab V4L/DVB (11105): gspca - ov534: Adjust the packet scan function
- change max payload size to 2040 bytes (was 2048)
- optimize

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:29 -03:00
Jean-Francois Moine
3481c19854 V4L/DVB (11104): gspca - ov534: Bad frame pointer after adding the last packet
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:29 -03:00
Jean-Francois Moine
0dc641dc9f V4L/DVB (11103): gspca - main: May have isochronous transfers on altsetting 0
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:29 -03:00
Hans Verkuil
d64260d588 V4L/DVB (11098): v4l2-common: remove incorrect MODULE test
v4l2-common doesn't have to be a module for it to call request_module().
Just remove that test.

Thanks-to: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Janne Grunau
76717b887c V4L/DVB (11097): use video_ioctl2 as ioctl handler directly
The encoder commands ioctls are available in v4l2_ioctl_ops. Use them
and get rid of the custom ioctl handler and use video_ioctl2.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Janne Grunau
9aba42efe8 V4L/DVB (11096): V4L2 Driver for the Hauppauge HD PVR usb capture device
The device encodes component video up to 1080i to a MPEG-TS stream with
H.264 video and stereo AAC audio. Newer firmwares accept also AC3
(up to 5.1) audio over optical SPDIF without reencoding.
Firmware upgrade is unimplemeted but rather unimportant since
the firmware sits on a flash chip.

The I2C adapter to drive the integrated infrared receiver/sender is
currently disabled due to a conflict with cx18-based devices.

Tested-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Janne Grunau
8c84cfda3e V4L/DVB (11095): adds V4L2_CID_SHARPNESS to v4l2_ctrl_query_fill()
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Andy Walls
4ab9b256b5 V4L/DVB (11092): cx18: Optimize processing of VBI buffers from the capture unit
Removed some unnecessary memcpy()'s by reworking the compress_*_vbi_buf()
functions.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Andy Walls
6e1a637202 V4L/DVB (11091): cx18, ivtv: Ensure endianess for linemasks in VBI embedded in MPEG stream
The sliced VBI payloads that cx18 and ivtv would insert in the MPEG stream
did not have consistent endianess for the linemasks in the payload (a big
endian platform would write them out big endian).  This change ensures the
linemasks are always stored as little-endian in the MPEG stream to ensure
cross platform consistency in parsing the generated MPEG stream.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Devin Heitmueller
2689d3dcc6 V4L/DVB (11088): au0828: finish videodev/subdev conversion
Per Hans Verkuil <hverkuil@xs4all.nl> instruction, remove the deprecated
attach_inform/detach_inform routines, and convert over the i2c calls to
subdev calls.

Thanks to Hans Verkuil <hverkuil@xs4all.nl> for providing feedback on the
au0828 analog support.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:28 -03:00
Devin Heitmueller
dd27ade7a9 V4L/DVB (11086): au0828: rename macro for currently non-function VBI support
The VBI support or the au0828 has the framework written but it does not yet
work.  Rename the macro per Mauro's request.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
62899a2800 V4L/DVB (11085): au0828/au8522: Codingstyle fixes
Take a pass over all of the au0828/au8522 files and cleanup all the codingstyle
issues.  This patch does not make *any* functional change to the code.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
3d62287e2c V4L/DVB (11084): au0828: add entry for undefined input type
For the sake of completeness, include the "undefined" input type enumeration,
even though there is no path that can actually call it.

Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing this out.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
a1094c4cd1 V4L/DVB (11083): au0828: remove some unneeded braces
There were some braces left behind from when there was more code in the block.
Remove it.

Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing this out.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
c888923deb V4L/DVB (11082): au0828: remove memset calls in v4l2 routines.
The userland callers are responsible for clearing the output buffers, so
remove the unneeded memset calls.

Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing this out.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
e13ce79734 V4L/DVB (11081): au0828: make sure v4l2_device name is unique
Make sure newly created v4l2 devices have a unique name, modeling the logic
after the cx18 driver.

Thanks to Andy Walls <awalls@radix.net> for pointing out the issue.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
b14667f32a V4L/DVB (11080): au0828: Convert to use v4l2_device/subdev framework
Convert over to using the new subdev framework for the au0828 bridge.  This
includes using the new i2c probing mechanism.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
2eaf396020 V4L/DVB (11079): au0828: fix panic on disconnect if analog initialization failed
If the analog initialization failed to create the video device, we never
actually add the entry to the au0828_devlist.  Therefore a panic occurs when
unregistering the analog subsystem.

Make it so we only remove the entry from the list if we added it to the list
in the first place.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:27 -03:00
Devin Heitmueller
220be77c6e V4L/DVB (11078): au0828: properly handle non-existent analog inputs
It is not valid to look for dev->board.input == NULL to detect an undefined
analog configuration section, since it is a member of the struct and not a
pointer (hence it will *always* be non-NULL).  Do the check based on whether
the first input is actually a valid input type instead.

Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing sample hardware
of various configurations to test with.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
fc4ce6cd98 V4L/DVB (11077): au0828: properly handle missing analog USB endpoint
Move the setup of the analog isoc handler into au0828-video.c, so it does not
occur if there is not an .input section defined for the board.  Also fixes a
case where if there is an input section but the board does not actually have
analog support, the digital support will continue to work as expected.

Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing sample hardware
of various configurations to test with.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
d9109bef4b V4L/DVB (11076): au0828: make g_chip_ident call work properly
Make the g_chip_ident call work for the au0828/au8522.  Discovered when testing
with the v4l2_compliance tool

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
[mchehab@redhat.com: fix merge conflict, due to a path change for analog demod]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
b80f770a98 V4L/DVB (11075): au0828: make register debug lines easier to read
Make it a little easier to read the debug messages for register read/write
operations

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
dc8685b565 V4L/DVB (11074): au0828: fix i2c enumeration bug
There was a bug where enumerating the i2c for devices would result in false
positives.  The root of the issue was the scanning was using SMBUS_QUICK
messages, which are zero length write requests (which our i2c adapter
implementation didn't handle).  Because we never strobed any bytes onto the
bus, the status register would still contain the value from the previous
request.

Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth
<stoth@linuxtv.org> for providing sample hardware, engineering level support,
and testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
5a5a4e16fa V4L/DVB (11073): au0828: disable VBI code since it doesn't yet work
Since the VBI support is not yet working for the au0828, don't advertise the
capability or create the /dev/vbi device.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
0ef21071d9 V4L/DVB (11072): au0828: advertise only NTSC-M (as opposed to all NTSC standards)
We don't now how to make any variant of NTSC work other than NTSC-M, so don't
advertise that we support the other variants.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
e2bff45cd6 V4L/DVB (11071): tveeprom: add the xc5000 tuner to the tveeprom definition
Prior to now, we never relied on the Hauppauge tveeprom to identify which
tuner is associated with the board.  Now that the HVR-950q determines what
the tuner is based on the eeprom, set the tuner ID appropriately.

Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing information on
the tveeprom organization.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:26 -03:00
Devin Heitmueller
f1add5b5ec V4L/DVB (11070): au0828: Rework the way the analog video binding occurs
Rework the way boards are managed so that we can change the board description
based on the Hauppauge eeprom (modeled after cx88-cards.c).

Also, make sure that we don't load the analog stack if there are no analog
inputs defined in the board profile.

Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing information on
the various ways different Hauppauge boards can be configured.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:25 -03:00
Devin Heitmueller
7fdd7c72ad V4L/DVB (11068): au0828: add analog profile for the HVR-850
Add the analog parameters to the device profile for the HVR-850

Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth
<stoth@linuxtv.org> for providing sample hardware, engineering level support,
and testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:25 -03:00
Devin Heitmueller
32c000ad93 V4L/DVB (11067): au0828: workaround a bug in the au0828 i2c handling
There is an issue related to the i2c clock for addressing the xc5000.  The
au0828 chip does not support clock stretching, which the xc5000 makes use of.
This results in cases where we silently get back garbage in i2c read
operations.  To work around this issue until we slow down the i2c clock when
talking with that specific device.

This was not an issue before we had analog support because we never needed to
enumerate the i2c bus, and digital tuning never actually needed to perform
read operations against the xc5000.

Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth
<stoth@linuxtv.org> for providing sample hardware, engineering level support,
and testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:25 -03:00
Devin Heitmueller
8b2f079523 V4L/DVB (11066): au0828: add support for analog functionality in bridge
Add support for the analog functionality found in the au0828 bridge

Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth
<stoth@linuxtv.org> for providing sample hardware, engineering level support,
and testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
[mchehab@redhat.com: fix compilation by adding linux/version.h]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:25 -03:00
Devin Heitmueller
ea2278633a V4L/DVB (11059): xc5000: fix bug for hybrid xc5000 devices with IF other than 5380
The xc5000 driver has a bug where the IF is always set to whatever the first
caller to dvb_attach() provides.  This fails when the device requires an IF
other than 5380 and the analog driver is loaded first through tuner-core
(which always supplies the hard-coded value of 5380).

Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth
<stoth@linuxtv.org> for providing sample hardware, engineering level support,
and testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:24 -03:00
Abylay Ospan
f1bee69944 V4L/DVB (11056): Bug fix in NetUP: restore high address lines in CI
CI high address lines disappears due to wrong data type used.
Patch to fix it.

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:24 -03:00
Hans Verkuil
b8ced13462 V4L/DVB (11053): saa7134: set v4l2_dev field of video_device
The v4l2_dev field of video_device wasn't initialized. The parent field
is derived from v4l2_dev, so that doesn't need to be set anymore.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:23 -03:00
Hans Verkuil
1efd5261ff V4L/DVB (11052): bt819: remove an unused header
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:23 -03:00
Hans Verkuil
15965f063d V4L/DVB (11051): v4l-dvb: replace remaining references to the old mailinglist.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:23 -03:00
Hans Verkuil
33470423ab V4L/DVB (11048): zoran: fix incorrect return type of notify function.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:23 -03:00
Hans Verkuil
9467fe1264 V4L/DVB (11047): cx88: convert to v4l2_device.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:23 -03:00
Hans Verkuil
74fc7bd9ce V4L/DVB (11046): bttv: convert to v4l2_device.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:23 -03:00