GitHub/MotorolaMobilityLLC/kernel-slsi.git
15 years agoV4L/DVB (10731): zoran i2c modules: remove i2c autoprobing support.
Hans Verkuil [Thu, 19 Feb 2009 20:41:19 +0000 (17:41 -0300)]
V4L/DVB (10731): zoran i2c modules: remove i2c autoprobing support.

Zoran doesn't do autoprobing anymore, so remove support for this from the
i2c modules.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10730): v4l-dvb: cleanup obsolete references to v4l1 headers.
Hans Verkuil [Thu, 19 Feb 2009 20:31:17 +0000 (17:31 -0300)]
V4L/DVB (10730): v4l-dvb: cleanup obsolete references to v4l1 headers.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
[mchehab@redhat.com: fix compilation of tea575x-tuner.c]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10729): zoran: convert to v4l2_device/v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 19:18:23 +0000 (16:18 -0300)]
V4L/DVB (10729): zoran: convert to v4l2_device/v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10728): adv7175: convert to v4l2-subdev.
Hans Verkuil [Thu, 19 Feb 2009 17:56:37 +0000 (14:56 -0300)]
V4L/DVB (10728): adv7175: convert to v4l2-subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10727): adv7170: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 17:47:22 +0000 (14:47 -0300)]
V4L/DVB (10727): adv7170: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10726): vpx3220: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 17:36:53 +0000 (14:36 -0300)]
V4L/DVB (10726): vpx3220: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10725): saa7185: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 16:24:47 +0000 (13:24 -0300)]
V4L/DVB (10725): saa7185: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10724): saa7110: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 15:24:27 +0000 (12:24 -0300)]
V4L/DVB (10724): saa7110: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
[mchehab@redhat.com: fix merge conflict with removal of v4l2_ctrl_query_fill_std()]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10723): ks0127: add supported ks0127 variants to the i2c device list.
Hans Verkuil [Thu, 19 Feb 2009 14:51:16 +0000 (11:51 -0300)]
V4L/DVB (10723): ks0127: add supported ks0127 variants to the i2c device list.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10722): ks0127: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 14:50:27 +0000 (11:50 -0300)]
V4L/DVB (10722): ks0127: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10721): bt856: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 11:54:36 +0000 (08:54 -0300)]
V4L/DVB (10721): bt856: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10720): bt819: that delay include is needed after all.
Hans Verkuil [Thu, 19 Feb 2009 11:08:07 +0000 (08:08 -0300)]
V4L/DVB (10720): bt819: that delay include is needed after all.

Thanks to Jean Delvare for pointing this out.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10719): bt819: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 09:36:36 +0000 (06:36 -0300)]
V4L/DVB (10719): bt819: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10718): bt866: convert to v4l2_subdev.
Hans Verkuil [Thu, 19 Feb 2009 07:49:29 +0000 (04:49 -0300)]
V4L/DVB (10718): bt866: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10717): zoran: TRY_FMT and S_FMT now do the same parameter checks.
Hans Verkuil [Wed, 18 Feb 2009 21:34:55 +0000 (18:34 -0300)]
V4L/DVB (10717): zoran: TRY_FMT and S_FMT now do the same parameter checks.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10716): zoran: change buffer defaults to something that works with tvtime
Hans Verkuil [Wed, 18 Feb 2009 21:33:35 +0000 (18:33 -0300)]
V4L/DVB (10716): zoran: change buffer defaults to something that works with tvtime

By popular request increased the default number and size of the buffers
to something that tvtime likes.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10715): zoran: clean up some old V4L1 left-overs and remove the MAP_NR macro.
Hans Verkuil [Wed, 18 Feb 2009 20:39:45 +0000 (17:39 -0300)]
V4L/DVB (10715): zoran: clean up some old V4L1 left-overs and remove the MAP_NR macro.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10714): zoran et al: convert zoran i2c modules to V4L2.
Hans Verkuil [Wed, 18 Feb 2009 20:26:06 +0000 (17:26 -0300)]
V4L/DVB (10714): zoran et al: convert zoran i2c modules to V4L2.

The zoran i2c modules were still using V4L1 internally. Replace this
with V4L2. Also deleted saa7111.c and saa7114.c, we use saa7115.c instead.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
[mchehab@redhat.com: fix v4l2_ctrl_query_fill_std merge conflict]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10713): zoran: if reqbufs is called with count == 0, do a streamoff.
Hans Verkuil [Wed, 18 Feb 2009 20:15:46 +0000 (17:15 -0300)]
V4L/DVB (10713): zoran: if reqbufs is called with count == 0, do a streamoff.

count == 0 has a special meaning, implement this.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10712): zoran: fix G_FMT
Hans Verkuil [Wed, 18 Feb 2009 20:12:34 +0000 (17:12 -0300)]
V4L/DVB (10712): zoran: fix G_FMT

Returned height was really height / 2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10711): zoran: fix TRY_FMT support
Hans Verkuil [Wed, 18 Feb 2009 20:11:17 +0000 (17:11 -0300)]
V4L/DVB (10711): zoran: fix TRY_FMT support

Actually try to turn the format into something usable rather than just
rejecting it if it isn't perfect.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10710): zoran: cleanups in an attempt to make the source a bit more readable.
Hans Verkuil [Wed, 18 Feb 2009 20:00:37 +0000 (17:00 -0300)]
V4L/DVB (10710): zoran: cleanups in an attempt to make the source a bit more readable.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10709): zoran: set correct parent of the video device.
Hans Verkuil [Wed, 18 Feb 2009 16:52:24 +0000 (13:52 -0300)]
V4L/DVB (10709): zoran: set correct parent of the video device.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10708): zoran: remove old V4L1 ioctls, use v4l1-compat instead.
Hans Verkuil [Wed, 18 Feb 2009 16:51:13 +0000 (13:51 -0300)]
V4L/DVB (10708): zoran: remove old V4L1 ioctls, use v4l1-compat instead.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10707): zoran: set bytesperline to 0 when using MJPEG.
Hans Verkuil [Wed, 18 Feb 2009 16:28:28 +0000 (13:28 -0300)]
V4L/DVB (10707): zoran: set bytesperline to 0 when using MJPEG.

Remove bogus check on bytesperline in the try_fmt_vid_out call.
Just set it to 0.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10706): zoran: fix field typo.
Hans Verkuil [Wed, 18 Feb 2009 16:24:56 +0000 (13:24 -0300)]
V4L/DVB (10706): zoran: fix field typo.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10705): zoran: use slider flag with volume etc. controls.
Hans Verkuil [Wed, 18 Feb 2009 16:23:24 +0000 (13:23 -0300)]
V4L/DVB (10705): zoran: use slider flag with volume etc. controls.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10704): zoran: remove broken BIGPHYS_AREA and BUZ_HIMEM code, and allow...
Hans Verkuil [Wed, 18 Feb 2009 16:20:05 +0000 (13:20 -0300)]
V4L/DVB (10704): zoran: remove broken BIGPHYS_AREA and BUZ_HIMEM code, and allow for kmallocs > 128 kB

Remove memory allocation madness.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10703): zoran: convert to video_ioctl2 and remove 'ready_to_be_freed' hack.
Hans Verkuil [Wed, 18 Feb 2009 16:13:31 +0000 (13:13 -0300)]
V4L/DVB (10703): zoran: convert to video_ioctl2 and remove 'ready_to_be_freed' hack.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10702): saa7115: add querystd and g_input_status support for zoran.
Hans Verkuil [Wed, 18 Feb 2009 15:35:33 +0000 (12:35 -0300)]
V4L/DVB (10702): saa7115: add querystd and g_input_status support for zoran.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10701): saa7185: add colorbar support.
Hans Verkuil [Wed, 18 Feb 2009 15:23:38 +0000 (12:23 -0300)]
V4L/DVB (10701): saa7185: add colorbar support.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10700): saa7115: don't access reg 0x87 if it is not present.
Hans Verkuil [Wed, 18 Feb 2009 15:22:16 +0000 (12:22 -0300)]
V4L/DVB (10700): saa7115: don't access reg 0x87 if it is not present.

Devices like the saa7111 do not have this register, so check for this
before using it.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10698): v4l2-common: remove v4l2_ctrl_query_fill_std
Hans Verkuil [Sat, 21 Feb 2009 21:47:24 +0000 (18:47 -0300)]
V4L/DVB (10698): v4l2-common: remove v4l2_ctrl_query_fill_std

The v4l2_ctrl_query_fill_std() function wasn't one the best idea I ever had.
It doesn't add anything valuable that cannot be expressed equally well with
v4l2_ctrl_query_fill and only adds overhead.

Replace it with v4l2_ctrl_query_fill() everywhere it is used and remove it
from v4l2_common.c.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10692): usbvision: convert to v4l2_device/v4l2_subdev.
Hans Verkuil [Sat, 21 Feb 2009 21:11:31 +0000 (18:11 -0300)]
V4L/DVB (10692): usbvision: convert to v4l2_device/v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10691): v4l2-common: add v4l2_i2c_subdev_addr()
Hans Verkuil [Sat, 21 Feb 2009 21:08:41 +0000 (18:08 -0300)]
V4L/DVB (10691): v4l2-common: add v4l2_i2c_subdev_addr()

Add small function to retrieve the i2c address from a v4l2_subdev
pointer.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10687): v4l2-common/v4l2-spec: support/document write-only and button controls
Hans Verkuil [Fri, 20 Feb 2009 09:30:12 +0000 (06:30 -0300)]
V4L/DVB (10687): v4l2-common/v4l2-spec: support/document write-only and button controls

The controls V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET changed their type
to button controls (these are unused at the moment, so this is a safe change).

The controls V4L2_CID_PAN_RELATIVE, V4L2_CID_TILT_RELATIVE, V4L2_CID_FOCUS_RELATIVE
and V4L2_CID_ZOOM_RELATIVE are marked as write-only controls.

Cc: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10686): v4l2: add V4L2_CTRL_FLAG_WRITE_ONLY flag.
Hans Verkuil [Fri, 20 Feb 2009 08:55:39 +0000 (05:55 -0300)]
V4L/DVB (10686): v4l2: add V4L2_CTRL_FLAG_WRITE_ONLY flag.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10685): v4l2: add colorfx support to v4l2-common.c, and add to 'Changes...
Hans Verkuil [Fri, 20 Feb 2009 08:50:52 +0000 (05:50 -0300)]
V4L/DVB (10685): v4l2: add colorfx support to v4l2-common.c, and add to 'Changes' in spec.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10681): gspca - zc3xx: Bad probe of the ov7630c sensor.
Jean-Francois Moine [Thu, 19 Feb 2009 18:41:28 +0000 (15:41 -0300)]
V4L/DVB (10681): gspca - zc3xx: Bad probe of the ov7630c sensor.

This patch fixes an other bug of the kernel bug report 12737.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10680): gspca - zc3xx: Bad probe of the ov7xxx sensors.
Jean-Francois Moine [Thu, 19 Feb 2009 18:38:31 +0000 (15:38 -0300)]
V4L/DVB (10680): gspca - zc3xx: Bad probe of the ov7xxx sensors.

This patch fixes one bug of the kernel bug report 12737.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10679): gspca - sonixj: Handle the webcam 0c45:613c instead of sn9c102.
Jean-Francois Moine [Thu, 19 Feb 2009 18:34:48 +0000 (15:34 -0300)]
V4L/DVB (10679): gspca - sonixj: Handle the webcam 0c45:613c instead of sn9c102.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10676): mt9m111: Call icl->reset() on mt9m111_reset().
Antonio Ospite [Mon, 23 Feb 2009 15:13:24 +0000 (12:13 -0300)]
V4L/DVB (10676): mt9m111: Call icl->reset() on mt9m111_reset().

Call icl->reset() on mt9m111_reset().

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10675): soc-camera: extend soc_camera_bus_param_compatible with more tests
Guennadi Liakhovetski [Mon, 23 Feb 2009 15:13:24 +0000 (12:13 -0300)]
V4L/DVB (10675): soc-camera: extend soc_camera_bus_param_compatible with more tests

Add data signal polarity, mode, and bus-width tests to
soc_camera_bus_param_compatible().

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10674): soc-camera: camera host driver for i.MX3x SoCs
Guennadi Liakhovetski [Mon, 23 Feb 2009 15:13:24 +0000 (12:13 -0300)]
V4L/DVB (10674): soc-camera: camera host driver for i.MX3x SoCs

Tested with 8 bit Bayer and 8 bit monochrome video.

 create mode 100644 arch/arm/plat-mxc/include/mach/mx3_camera.h
 create mode 100644 drivers/media/video/mx3_camera.c

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10673): mt9t031: fix gain and hflip controls, register update, and scaling
Guennadi Liakhovetski [Mon, 23 Feb 2009 15:13:23 +0000 (12:13 -0300)]
V4L/DVB (10673): mt9t031: fix gain and hflip controls, register update, and scaling

Multiple fixes:
1. allow register update by setting the Output Control register to 2 and not 3
2. fix scaling factor calculations
3. recover lost HFLIP control
4. fix Global Gain calculation

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10672): sh_mobile_ceu_camera: include NV* formats into the format list only...
Guennadi Liakhovetski [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10672): sh_mobile_ceu_camera: include NV* formats into the format list only once.

Currently, if an soc-camera device, connected to the sh_mobile_ceu_camera
camera host driver, supports several formats from the UYVY, VYUY, YUYV, YVYU
set, the driver would add four NV* formats for each of them. This patch fixes
this misbehaviour.

Reported-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10671): sh_mobile_ceu: SOCAM flags are not platform dependent
Kuninori Morimoto [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10671): sh_mobile_ceu: SOCAM flags are not platform dependent

sh_mobile_ceu_camera.c support for signal polarity flags isn't platform
dependent, provide them locally. Only the bus width is implementation
specific.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Acked-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10670): tw9910: bit mask operation fix on tw9910_mask_set.
Kuninori Morimoto [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10670): tw9910: bit mask operation fix on tw9910_mask_set.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10669): ov772x: Add image flip support
Kuninori Morimoto [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10669): ov772x: Add image flip support

o ov772x_camera_info :: flags supports default image flip.
o V4L2_CID_VFLIP/HFLIP supports image flip for user side.
Thank Magnus for advice.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10668): ov772x: bit mask operation fix on ov772x_mask_set.
Kuninori Morimoto [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10668): ov772x: bit mask operation fix on ov772x_mask_set.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10667): ov772x: setting method to register is changed.
Kuninori Morimoto [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10667): ov772x: setting method to register is changed.

Color format regs array had been used, but it was not easy to understand
what to want to do, and additional bit became complex.
This patch modify this problem.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10666): ov772x: move configuration from start_capture() to set_fmt()
Kuninori Morimoto [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10666): ov772x: move configuration from start_capture() to set_fmt()

soc_camera framework requires, that camera configuration is performed in
set_fmt, and start_capture and stop_capture only turn the camera on/off.
This patch modifies ov772x to comply to this requirement.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10665): soc-camera: add data signal polarity flags to drivers
Guennadi Liakhovetski [Mon, 23 Feb 2009 15:12:58 +0000 (12:12 -0300)]
V4L/DVB (10665): soc-camera: add data signal polarity flags to drivers

All soc-camera camera and host drivers must specify supported data signal
polarity, after all drivers are fixed, we'll add a suitable test to
soc_camera_bus_param_compatible().

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10662): remove redundant memset after kzalloc
Matthias Schwarzott [Mon, 23 Feb 2009 15:26:38 +0000 (12:26 -0300)]
V4L/DVB (10662): remove redundant memset after kzalloc

Hi there!

While having a look at the allocation of struct dvb_frontend in *_attach
functions, I found some cases calling memset after kzalloc. This is
redundant, and the attached patch removes these calls.
I also changed one case calling kmalloc and memset to kzalloc.

Regards
Matthias

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10657): [PATCH] V4L: missing parentheses?
Roel Kluin [Wed, 18 Feb 2009 09:11:10 +0000 (06:11 -0300)]
V4L/DVB (10657): [PATCH] V4L: missing parentheses?

Add missing parentheses

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10655): tvp514x: make the module aware of rich people
Sebastian Andrzej Siewior [Mon, 12 Jan 2009 09:17:43 +0000 (06:17 -0300)]
V4L/DVB (10655): tvp514x: make the module aware of rich people

because they might design two of those chips on a single board.
You never know.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10654): em28xx: VideoMate For You USB TV box requires tvaudio
Mauro Carvalho Chehab [Wed, 25 Feb 2009 12:06:13 +0000 (09:06 -0300)]
V4L/DVB (10654): em28xx: VideoMate For You USB TV box requires tvaudio

As reported by Vitaly Wool <vital@embeddedalley.com>:

> about half a year ago I posted the patch that basically enabled Compro
> VideoMate For You USB TV box support.
> The main problem is I couldn't get the sound working.
> So I kind of decomposed the box and found out the audio decoder chip
> used there was Philips TDA9874A. As far as I can see, it's not supported
> within the em28xx suite although it is for other TV tuner drivers.

A tvaudio modprobing confirms that tda9874a chip is accessible via i2c:

tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: tda9840, tda9873h, tda9874h/a, tda9850, tda9855, tea6300, tea6320, tea6420, tda8425, pic16c54 (PV951), ta8874z
tvaudio' 1-0058: chip found @ 0xb0
tvaudio' 1-0058: tvaudio': chip_read2: reg254=0x11
tvaudio' 1-0058: tvaudio': chip_read2: reg255=0x2
tvaudio' 1-0058: tda9874a_checkit(): DIC=0x11, SIC=0x2.
tvaudio' 1-0058: found tda9874a.
tvaudio' 1-0058: tda9874h/a found @ 0xb0 (em28xx #0)
tvaudio' 1-0058: tda9874h/a: chip_write: reg0=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg1=0xc0
tvaudio' 1-0058: tda9874h/a: chip_write: reg2=0x2
tvaudio' 1-0058: tda9874h/a: chip_write: reg11=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg12=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg13=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg14=0x1
tvaudio' 1-0058: tda9874h/a: chip_write: reg15=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg16=0x14
tvaudio' 1-0058: tda9874h/a: chip_write: reg17=0x50
tvaudio' 1-0058: tda9874h/a: chip_write: reg18=0xf9
tvaudio' 1-0058: tda9874h/a: chip_write: reg19=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg20=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg24=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg255=0x0
tvaudio' 1-0058: tda9874a_setup(): A2, B/G [0x00].
tvaudio' 1-0058: tda9874h/a: thread started]

This patch automatically loads tvaudio when needed (currently, only
with this board).

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10652): uvcvideo: Add quirk to override wrong bandwidth value for Vimicro...
Laurent Pinchart [Mon, 16 Feb 2009 20:41:52 +0000 (17:41 -0300)]
V4L/DVB (10652): uvcvideo: Add quirk to override wrong bandwidth value for Vimicro devices

At least 3 Vimicro cameras (0x332d, 0x3410 and 0x3420) fail to return correct
bandwidth information. The first model rounds the value provided by the host
to the nearest supported packet size, while the other two always request the
maximum bandwidth.

Introduce a device quirk to override the value returned by the device with an
estimated bandwidth computed by the driver from the frame size and frame rate,
and enable it for all Vimicro cameras.

Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10651): uvcvideo: Ignore empty bulk URBs
Laurent Pinchart [Sat, 14 Feb 2009 22:39:08 +0000 (19:39 -0300)]
V4L/DVB (10651): uvcvideo: Ignore empty bulk URBs

Devices may send a zero-length packet to signal the end of a bulk payload. If
the payload size is a multiple of the URB size the zero-length packet will be
received by the URB completion handler. Handle this by ignoring all empty URBs.

Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10650): uvcvideo: Initialize streaming parameters with the probe control...
Laurent Pinchart [Sat, 14 Feb 2009 22:26:56 +0000 (19:26 -0300)]
V4L/DVB (10650): uvcvideo: Initialize streaming parameters with the probe control value

The UVC specification requires SET_CUR requests on the streaming commit control
to use values retrieved from a successful GET_CUR request on the probe control.
Initialize streaming parameters with the probe control current value to make
sure the driver always complies.

Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10647): vivi: add slider flag to controls.
Hans Verkuil [Sat, 14 Feb 2009 16:50:19 +0000 (13:50 -0300)]
V4L/DVB (10647): vivi: add slider flag to controls.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10646): vivi: controls are per-device, not global.
Hans Verkuil [Sat, 14 Feb 2009 16:43:44 +0000 (13:43 -0300)]
V4L/DVB (10646): vivi: controls are per-device, not global.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10645): vivi: introduce v4l2_device and do several cleanups
Hans Verkuil [Sat, 14 Feb 2009 16:23:12 +0000 (13:23 -0300)]
V4L/DVB (10645): vivi: introduce v4l2_device and do several cleanups

- add v4l2_device
- remove BKL
- make the debug parameter settable on the fly
- set bus_info in querycap

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10644): v4l2-subdev: rename dev field to v4l2_dev
Hans Verkuil [Sat, 14 Feb 2009 15:00:53 +0000 (12:00 -0300)]
V4L/DVB (10644): v4l2-subdev: rename dev field to v4l2_dev

Remain consistent in the naming: fields pointing to v4l2_device should
be called v4l2_dev. There are too many device-like entities without
adding to the confusion by mixing naming conventions.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10643): v4l2-device: allow a NULL parent device when registering.
Hans Verkuil [Sat, 14 Feb 2009 14:54:23 +0000 (11:54 -0300)]
V4L/DVB (10643): v4l2-device: allow a NULL parent device when registering.

Some drivers (e.g. for ISA devices) have no parent device because there
is no associated bus driver. Allow the parent device to be NULL in
those cases when registering v4l2_device.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10642): vivi: update comment to reflect that vivi can now create more than...
Hans Verkuil [Sat, 14 Feb 2009 14:37:17 +0000 (11:37 -0300)]
V4L/DVB (10642): vivi: update comment to reflect that vivi can now create more than 32 devs.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10641): v4l2-dev: remove limit of 32 devices per driver in get_index()
Hans Verkuil [Sat, 14 Feb 2009 14:31:01 +0000 (11:31 -0300)]
V4L/DVB (10641): v4l2-dev: remove limit of 32 devices per driver in get_index()

get_index() had a limitation of 32 devices per driver. This was
unnecessarily strict and has been replaced with the maximum number
of devices. That should really satisfy anyone!

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10639): gspca - sq905: New subdriver.
Adam Baker [Fri, 6 Feb 2009 18:12:46 +0000 (15:12 -0300)]
V4L/DVB (10639): gspca - sq905: New subdriver.

Add initial support for cameras based on the SQ Technologies SQ-905
chipset (USB ID 2770:9120) to V4L2 using the gspca infrastructure.
Currently only supports one resolution and doesn't attempt to inform
libv4l what image flipping options are needed.

Signed-off-by: Adam Baker <linux@baker-net.org.uk>
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>
15 years agoV4L/DVB (10638): gspca - t613: Bad debug level when displaying the sensor type.
Jean-Francois Moine [Fri, 6 Feb 2009 17:11:58 +0000 (14:11 -0300)]
V4L/DVB (10638): gspca - t613: Bad debug level when displaying the sensor type.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10637): gspca - t613: Bad sensor name in kernel trace when 'other' sensor.
Jean-Francois Moine [Fri, 6 Feb 2009 16:45:23 +0000 (13:45 -0300)]
V4L/DVB (10637): gspca - t613: Bad sensor name in kernel trace when 'other' sensor.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10636): gspca - sonixj: Add autogain for ov7630/48 and vflip for ov7648.
Jean-Francois Moine [Thu, 5 Feb 2009 18:12:24 +0000 (15:12 -0300)]
V4L/DVB (10636): gspca - sonixj: Add autogain for ov7630/48 and vflip for ov7648.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10635): gspca - sonixj: No vertical flip control for mt9v111.
Jean-Francois Moine [Thu, 5 Feb 2009 18:04:33 +0000 (15:04 -0300)]
V4L/DVB (10635): gspca - sonixj: No vertical flip control for mt9v111.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10620): gspca - main: More checks of the device disconnection.
Jean-Francois Moine [Thu, 12 Feb 2009 11:05:45 +0000 (08:05 -0300)]
V4L/DVB (10620): gspca - main: More checks of the device disconnection.

- prevent application oops when the device is disconnected
- wake up the application at disconnection time
- check the disconnection in ioctl dqbuf and poll

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10534): Output HW/SW version from scratchpad
Tobias Lorenz [Thu, 12 Feb 2009 17:56:30 +0000 (14:56 -0300)]
V4L/DVB (10534): Output HW/SW version from scratchpad

This patch adds functions to access the scratchpad.
For it is this good for? In the first two bytes, the developers
stored the HW/PCB version and the software release of the firmware.
This is now written to syslog, so debugging get's easier.
Also knowing the versions is the key for flash upgrades later on.

There are also some cleanups of the flash report sizes.

Altogether this should justify the new version number 1.0.9.

Thanks to Rick Bronson <rick@efn.org>

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10633): DAB: fix typo
Márton Németh [Sun, 1 Feb 2009 22:31:54 +0000 (19:31 -0300)]
V4L/DVB (10633): DAB: fix typo

Fix typo in "DAB adapters" section in Kconfig.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10632): Added support for AVerMedia Cardbus Hybrid remote control
Oldřich Jedlička [Thu, 12 Feb 2009 06:43:11 +0000 (03:43 -0300)]
V4L/DVB (10632): Added support for AVerMedia Cardbus Hybrid remote control

Added support for I2C device at address 0x40 and subaddress 0x0d/0x0b
that provides remote control key reading support for AVerMedia Cardbus
Hybrid card, possibly for other AVerMedia Cardbus cards.

The I2C address 0x40 doesn't like the SAA7134's 0xfd quirk, so it was
disabled.

[mchehab@redhat.com: CodingStyle fixes]
Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10631): zoran: fix printk format
Randy Dunlap [Thu, 12 Feb 2009 18:19:24 +0000 (15:19 -0300)]
V4L/DVB (10631): 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>
15 years agoV4L/DVB: calibration still successful at 10
Roel Kluin [Wed, 11 Feb 2009 09:34:11 +0000 (06:34 -0300)]
V4L/DVB: calibration still successful at 10

With while (i++ < 10) { ... } i can reach 11, so callibration still
succeeds at i == 10.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10629): tvp514x: try_count reaches 0, not -1
Roel Kluin [Mon, 9 Feb 2009 21:57:06 +0000 (18:57 -0300)]
V4L/DVB (10629): tvp514x: try_count reaches 0, not -1

with while (try_count-- > 0) { ... } try_count reaches 0, not -1.

Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10628): V4L: Storage class should be before const qualifier
Tobias Klauser [Mon, 9 Feb 2009 21:06:49 +0000 (18:06 -0300)]
V4L/DVB (10628): V4L: Storage class should be before const qualifier

The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the beginning
of the declaration specifiers in a declaration is an obsolescent
feature.

Cc: Jean-Francois Moine <moinejf@free.fr>
Cc: Sakari Ailus <sakari.ailus@nokia.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10618): gspca - some drivers: Fix compilation warnings.
Jean-Francois Moine [Mon, 2 Feb 2009 19:25:38 +0000 (16:25 -0300)]
V4L/DVB (10618): gspca - some drivers: Fix compilation warnings.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10617): gspca - vc032x: Remove the vc0321 reset.
Jean-Francois Moine [Mon, 2 Feb 2009 10:43:50 +0000 (07:43 -0300)]
V4L/DVB (10617): gspca - vc032x: Remove the vc0321 reset.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10616): tw9910: color format check is added on set_fmt
Kuninori Morimoto [Tue, 27 Jan 2009 06:02:41 +0000 (03:02 -0300)]
V4L/DVB (10616): tw9910: color format check is added on set_fmt

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10575): V4L2: Add COLORFX user control
Sergio Aguirre [Tue, 20 Jan 2009 21:34:43 +0000 (18:34 -0300)]
V4L/DVB (10575): V4L2: Add COLORFX user control

This is a common feature on many cameras. the options are:
Default colors,
B & W,
Sepia

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10574): saa7134: fix Avermedia E506R composite input
Tim Farrington [Thu, 15 Jan 2009 12:58:55 +0000 (09:58 -0300)]
V4L/DVB (10574): saa7134: fix Avermedia E506R composite input

Make correction to composite input plus svideo input to Avermedia E506R

Signed-off-by: Tim Farrington <timf@iinet.net.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10571): v4l2-framework.txt: Fixes the videobuf init functions
Mauro Carvalho Chehab [Sat, 14 Feb 2009 10:51:28 +0000 (07:51 -0300)]
V4L/DVB (10571): v4l2-framework.txt: Fixes the videobuf init functions

Documents the driver usage functions, instead of the generic one used
by the videobuf specific handlers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10570): v4l2-framework: documments videobuf usage on drivers
Mauro Carvalho Chehab [Sat, 14 Feb 2009 10:29:07 +0000 (07:29 -0300)]
V4L/DVB (10570): v4l2-framework: documments videobuf usage on drivers

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10568): bttv: dynamically allocate device data
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10568): bttv: dynamically allocate device data

The bttv driver had static array of structures for up to 16 possible bttv
devices, even though few users have more than one or two.  The structures
were quite large and this resulted in a huge BSS segment.

Change the driver to allocate the bttv device data dynamically, which
changes "struct bttv bttvs[BTTV_MAX]" to "struct bttv *bttvs[BTTV_MAX]".
It would be nice to get ride of "bttvs" entirely but there are some
complications with gpio access from the audio & mpeg drivers.

To help bttvs removal along anyway, I changed the open() methods use the
video device's drvdata to get the driver data instead of looking it up in
the bttvs array.  This is also more efficient.  Some WARN_ON()s are added
in cases the device node exists by the bttv device doesn't, which I don't
think should be possible.

The gpio access functions need to check if bttvs[card] is NULL now.  Though
calling them on a non-existent card in the first place is wrong, but hard
to solve given the fundamental problems in how the gpio access code works.

This patch reduces the bss size by 66560 bytes on ia32.  Overall change is a
reduction of 66398 bytes, as the WARN_ON()s add some 198 bytes.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10567): bttv: shrink muxsel data in card database
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10567): bttv: shrink muxsel data in card database

Over half of the card database was used to store muxsel data.  64 bytes
were used to store one 32 bit word for each of up to 16 inputs.

The Bt8x8 only has two bits to control its mux, so muxsel data for 16
inputs will fit into a single 32 bit word.  There were a couple cards that
had special muxsel data that didn't fit in two bits, but I cleaned them up
in earlier patches.

Unfortunately, C doesn't allow us to have an array of bit fields.  This
makes initializing the structure more of a pain.  But with some cpp magic,
we can do it by changing:
.muxsel = { 2, 3, 0, 1 },
.muxsel = { 2, 2, 2, 2, 3, 3, 3, 3, 1, 1 },
Into:
.muxsel = MUXSEL(2, 3, 0, 1),
.muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 1),

That's not so bad.  MUXSEL is a fancy macro that packs the arguments (of
which there can be one to sixteen!) into a single word two bits at a time.
It's a compile time constant (a variadic function wouldn't be) so we can
use it to initialize the structure.  It's important the the arguments to
the macro only be plain decimal integers.  Stuff like "0x01", "(2)", or
"MUX3" won't work properly.

I also created an accessor function, bttv_muxsel(btv, input), that gets the
mux bits for the selected input.  It makes it cleaner to change the way the
muxsel data is stored.

This patch doesn't change the code size and decreases the datasegment by
9440 bytes.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10566): bttv: clean up mux code for IDS Eagle
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10566): bttv: clean up mux code for IDS Eagle

This card apparently uses an external mux and the Bt878's mux should always
be set to MUX2.  The values for the external mux control bits were stored
in the muxsel field.  This meant that when changing inputs the driver would
switch the Bt878's mux to whatever value the external mux was supposed to
be set to, then eagle_muxsel() would switch it back to MUX2 and program the
external mux.  This creates an unnecessary switch of the Bt878's mux.

So change muxsel to be 2 for each input.  The external mux bits are just
"input&3" so they don't really need to be stored anywhere.  This also
eliminates the last non-standard use of the muxsel data.

Cc: M G Berberich <berberic@fmi.uni-passau.de>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10565): bttv: fix external mux for RemoteVision MX
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10565): bttv: fix external mux for RemoteVision MX

Old versions of the bttv driver would use the high nibble of an input's
muxsel value to program the GPIO lines enabled via gpiomask2.  Apparently
this was supposed to be for switching external audio muxes.  Anyway, the
code that did this was removed sometime in the pre-git 2.6 series.

The RemoteVision MX board used this feature to control an external video
mux and I guess no one noticed when they removed the code.

Move the extra gpio mux data out of the high nibble of muxsel and to
rv605_muxsel(), then have that function set the gpio lines with it.

From looking at the CD22M3494E datasheet, it seems like the mdelay(1) is a
much longer delay than necessary.  It looks like only around 20 ns is
necessary.

Cc: Miguel Freitas <miguel@cetuc.puc-rio.br>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10564): bttv: fix external mux for PHYTEC VD-009
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10564): bttv: fix external mux for PHYTEC VD-009

Old versions of the bttv driver would use the high nibble of an input's
muxsel value to program the GPIO lines enabled via gpiomask2.  Apparently
this was supposed to be for switching external audio muxes.  Anyway, the
code that did this was removed sometime in the pre-git 2.6 series.

These phytec boards used this feature to control an external video mux and
I guess no one noticed when they removed the code.

So add a muxsel_hook for these boards that does the necessary gpio setting.

BTW, I doubt the needs_tvaudio setting for these cards is correct.

Cc: Dirk Heer <d.heer@phytec.de>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10563): bttv: clean up mux code for IVC-120G
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10563): bttv: clean up mux code for IVC-120G

The card data for BTTV_BOARD_IVC120 set muxsel to a bunch of bogus values
(1 to 16), which the common mux code would use to set the Bt878's mux to
some random value.  Then the custom code in ivc120_muxsel() would change
the Bt878's mux to the right value (always MUX0).

Better to just make the muxsel data correct (all zeros, easy!) and get the
mux right to begin with.  Then the extra Bt878 mux setting code in
ivc120_muxsel() can be eliminated (the rest of the code for the IVC-120G's
external mux is still there of course).

This will help me clean up muxsel for some other changes.  It should also
get rid of an unnecessary mux switch when changing from certain inputs to
certain other inputs on the IVC-120G.

Cc: Alan Garfield <alan@fromorbit.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10562): bttv: rework the way digital inputs are indicated
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10562): bttv: rework the way digital inputs are indicated

The code was using a muxsel value of -1U to indicate a digital input.  A
couple places in were checking of muxsel < 0 to detect this, which doesn't
work of course because muxsel is unsigned and can't be negative.

Only a couple cards had digital inputs and it was always the last one, so
for the card database create a one bit field that indicates the last input
is digital.  On init, this is used to set a new field in the bttv struct to
the digital input's number or UNSET for none.  This makes it easier to
check if the current input is digital.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10561): bttv: store card database more efficiently
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10561): bttv: store card database more efficiently

The bttv card database is quite large and the data structure used to store
it wasn't very efficient.  Most of the field are only used at card
initialization time so it doesn't matter if they aren't efficient to
access.

Overall the changes reduce code size by 60 bytes in ia32.  The data size is
decreased by 5024 byes.  It is probably even more for 64-bit kernels.

Move the fields in the struct around to be sorted from largest to smallest.
This saves on padding space used for alignment.

Get rid of the unused digital_mode field.  Leave the setting as a comment
in the few cards entries that set it, in case someone ever writes the code.

Get rid of the unused audio_inputs field.  Leave the values in the card
entries in case someone ever writes code that might use it.

Get ride of the unused radio_addr field.  No card entries even set it to
anything interesting so it's not left as comments.  All the code that used
it was removed in commit v2.6.14-3466-g291d1d7 from Nov 8th 2005.

Reduce video_inputs to u8 as no card has more than 255 inputs (the most is
16).

Change tuner_addr to u8.  I2C addresses are only seven bits and 255 means
ADDR_UNSET, so everything fits.

Make has_radio a one bit flag.

Make the pll setting a two bit field.

Reduce svhs to four bits as no card has an s-video input above 9.  Change
the value for no s-video input from UNSET (which is -1U and out of range of
four bits) to NO_SVHS (which is now 15).

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10560): bttv: make tuner card info more consistent
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10560): bttv: make tuner card info more consistent

The bttv card database structure had a "tuner" field that was the input
number of the tuner input or UNSET for no tuner.  However, the only values
it could ever be are 0 and UNSET.  Having a tuner on an input other than 0
didn't work and was never used.

There is also a "tuner_type" field that can be set to TUNER_ABSENT to
indicate no tuner, which makes "tuner = UNSET" redundant.  In many cases,
tuner_type was set to UNSET when there was no tuner, which isn't quite
correct.  tuner_type == UNSET is supposed to mean the tuner type isn't yet
known.

So, I changed cards where "tuner == UNSET" to always have tuner_type of
TUNER_ABSENT.  At this point the tuner field is redundant, so I deleted it.

I have the card setup code set the card's tuner_type (not the card type's
tuner_type!) to TUNER_ABSENT if it hasn't yet been set at the end of the
setup code.  Various places that check if the card has a tuner will now
look for this instead of checking the card type's "tuner" field.

Also autoload the tuner module before issuing the TUNER_SET_TYPE_ADDR I2C
client call instead of after issuing it.

Overall, on ia32 this decreases compiled code size by about 24 bytes and
reduces the data size by 640 bytes.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10559): bttv: Fix TDA9880 norm setting code
Trent Piepho [Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)]
V4L/DVB (10559): bttv: Fix TDA9880 norm setting code

The code to set the norm for the TDA9880 analog demod was comparing
btv->norm, an index into the bttv driver's norm array, to V4L2_STD_NTSC,
which is a bit flag that's part of the V4L2 API.  This doesn't work of
course and results in the PAL path always being taken.

What's more, it modified the bttv_tvcards[] entries for cards using the
TDA9880.  This is wrong because changing the norm on one card will also
affect other cards of the same type.  Writing to bttv_tvcards is also bad
because it should be read-only or even devinitdata.

Changing the norm would also cause the audio to become unmuted.

Have the code get called for both norm setting and audio input setting
(which where the gpios are set) to avoid needed to modify bttv_tvcards.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10558): bttv: norm value should be unsigned
Trent Piepho [Thu, 29 Jan 2009 00:32:58 +0000 (21:32 -0300)]
V4L/DVB (10558): bttv: norm value should be unsigned

The norm value in the driver is an index into an array and the the driver
doesn't allow it to be negative or otherwise invalid.  It should be
unsigned but wasn't in all places.

Fix some structs and functions to have the norm be unsigned.  Get rid of
useless checks for "< 0".  Most of the driver code can't handle a norm
value that's out of range, so change some ">= BTTV_TVNORMS" checks to
BUG_ON().  There's no point in silently ignoring invalid driver state just
to crash because of it later.

Reported-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10556): em28xx-cards: Add Pinnacle Dazzle Video Creator Plus DVC107 description
Douglas Schilling Landgraf [Thu, 12 Feb 2009 17:22:42 +0000 (14:22 -0300)]
V4L/DVB (10556): em28xx-cards: Add Pinnacle Dazzle Video Creator Plus DVC107 description

Added board Pinnacle Dazzle Video Creator Plus DVC107 to name description field.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (10555): em28xx: CodingStyle fixes
Nicola Soranzo [Thu, 12 Feb 2009 17:21:52 +0000 (14:21 -0300)]
V4L/DVB (10555): em28xx: CodingStyle fixes

Coding style fixes for recent changesets in em28xx.

Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>