Hans Verkuil [Mon, 3 Jun 2013 16:26:17 +0000 (13:26 -0300)]
[media] media: i2c: ths8200: driver for TI video encoder
The full datasheets are available from TI website:-
http://www.ti.com/product/ths8200
Note: This patch adds support only for progressive format
as of now.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mats Randgaard <mats.randgaard@cisco.com> Signed-off-by: Martin Bugge <martin.bugge@cisco.com> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 13:19:06 +0000 (10:19 -0300)]
[media] tvp5150: fix s_std support
- do exact matching for special formats like PAL-M
- drop autodetect support: it's non-standard, and it is bogus as well since there
is no way to get back the detected standard since neither g_std nor querystd are
implemented.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 13:19:03 +0000 (10:19 -0300)]
[media] zoran: remove bogus autodetect mode in set_norm
Currently, if the norm set is V4L2_STD_ALL, then autodetect the current
standard and use that. This is non-standard behavior, and in fact it hasn't
worked for a very long time: before s_std is called in this driver, the
v4l2 core will mask it with the tvnorms field. So even if the application
passes V4L2_STD_ALL, the zoran driver will always see a subset of that.
Since nobody ever complained about this we just remove this non-standard
functionality.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 13:18:54 +0000 (10:18 -0300)]
[media] adv7183: fix querystd
If no signal is detected, return V4L2_STD_UNKNOWN. Otherwise AND the standard
with the detected standards.
Note that the v4l2 core initializes the std with tvnorms before calling the
querystd ioctl.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Scott Jiang <scott.jiang.linux@gmail.com> Acked-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Mon, 3 Jun 2013 08:36:50 +0000 (05:36 -0300)]
[media] v4l2: remove deprecated current_norm support completely
The use of current_norm to keep track of the current standard has been
deprecated for quite some time. Now that all drivers that were using it
have been converted to use g_std we can drop it from the core.
It was a bad idea to introduce this at the time: since it is a per-device
node field it didn't work for drivers that create multiple nodes, all sharing
the same tuner (e.g. video and vbi nodes, or a raw video node and a compressed
video node). In addition it was very surprising behavior that g_std was
implemented in the core. Often drivers implemented both g_std and current_norm,
because they didn't understand how it should be used.
Since the benefits were very limited (if they were there at all), it is better
to just drop it and require that drivers just implement g_std.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Mon, 3 Jun 2013 08:36:47 +0000 (05:36 -0300)]
[media] usbvision: replace current_norm by g_std
current_norm use is deprecated because it is per-devicenode and if you
have more device nodes all dependent on the same video source, then this
no longer works. Just implement g_std instead.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Mon, 3 Jun 2013 08:36:43 +0000 (05:36 -0300)]
[media] fsl-viu: remove current_norm
The use of current_norm is deprecated, so remove it. This driver actually
already implements g_std, which overrides current_norm, but the 'std' field
was never initialized correctly. This has been fixed as well.
Hans Verkuil [Mon, 3 Jun 2013 08:36:41 +0000 (05:36 -0300)]
[media] soc_camera: remove use of current_norm
The current_norm field is deprecated, so don't set it. Since it is set to
V4L2_STD_UNKNOWN which is 0 it didn't do anything anyway.
Also remove a few other unnecessary uses of V4L2_STD_UNKNOWN.
Hans Verkuil [Fri, 31 May 2013 09:50:50 +0000 (06:50 -0300)]
[media] radio-timb: actually load the requested subdevs
For some reason the tuner and dsp subdevs were never actually loaded.
Added the relevant code to do that.
Also remove bogus calls to video_device_release_empty().
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Richard Röjfors <richard.rojfors@pelagicore.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:45 +0000 (06:59 -0300)]
[media] tveeprom: remove v4l2-chip-ident.h include
Replace the V4L2_IDENT_* usage with tveeprom-specific defines. This header
is deprecated, so those defines shouldn't be used anymore.
The em28xx driver is the only one that uses the tveeprom audio_processor
field, so that has been updated to use the new tveeprom AUDPROC define.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:44 +0000 (06:59 -0300)]
[media] marvell-ccic: remove g_chip_ident
Remove g_chip_ident. This driver used some of the V4L2_IDENT defines, replace
those with a driver-specific enum. This makes it possible to drop the
v4l2-chip-ident.h define as well.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:39 +0000 (06:59 -0300)]
[media] cx23885: remove g_chip_ident
Replace g_chip_ident by g_chip_info. Note that the IR support is implemented
as a subdev, so this part no longer needs to be handled as a 'bridge' chip.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:38 +0000 (06:59 -0300)]
[media] ivtv: remove g_chip_ident
g_chip_ident was used to determine if a saa7114 or saa7115 was used. Instead
just check the subdev name.
After that the g_chip_ident function can be removed.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:37 +0000 (06:59 -0300)]
[media] saa7115: add back the dropped 'found' message
The saa7115 driver used to show a 'chip found' message during probe. This
was accidentally dropped during recent commits. Add it back as it is quite
useful.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:36 +0000 (06:59 -0300)]
[media] cx18: remove g_chip_ident support
The av-core is really a subdev, so there is no need anymore to act as if it
is a 'second' bridge chip.
As a result of this the g_chip_ident implementation can be completely dropped.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:35 +0000 (06:59 -0300)]
[media] v4l2: remove g_chip_ident from bridge drivers where it is easy to do so
VIDIOC_DBG_G_CHIP_IDENT has been replaced by VIDIOC_DBG_G_CHIP_INFO. Remove
g_chip_ident support from bridge drivers since it is no longer needed.
This patch takes care of all the trivial cases.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 09:59:34 +0000 (06:59 -0300)]
[media] v4l2-ioctl: dbg_g/s_register: only match BRIDGE and SUBDEV types
Drop support for V4L2_CHIP_MATCH_I2C_DRIVER/ADDR and V4L2_CHIP_MATCH_AC97
types. The following patches will remove support for those in the drivers
as well.
This means that bridge drivers no longer have to check for the match.type
field in their g/s_register implementations. Only if they also implement
g_chip_info do they still have to check the match.addr field, otherwise the
core will check for that as well.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Lad, Prabhakar [Sat, 25 May 2013 16:39:36 +0000 (13:39 -0300)]
[media] media: i2c: ths7303: make the pdata as a constant pointer
generally the pdata needs to be a constant pointer in the device
state structure. This patch makes the pdata as a constant pointer
and alongside returns -EINVAL when pdata is NULL.
Lad, Prabhakar [Sat, 25 May 2013 16:39:35 +0000 (13:39 -0300)]
[media] media: i2c: ths7303: remove unnecessary function ths7303_setup()
the ths7303_setup() was doing the same thing as ths7303_setval()
except that ths7303_setval() sets it to some particular mode.
This patch removes ths7303_setup() function and calls ths7303_setval()
in the probe setting the device to 480I_576I filter mode in the probe.
Lad, Prabhakar [Sat, 25 May 2013 16:39:34 +0000 (13:39 -0300)]
[media] media: i2c: ths7303: remove init_enable option from pdata
This patch removes init_enable option from pdata, the init_enable
was intended that the device should start streaming video immediately
but ideally the bridge drivers should call s_stream explicitly for such
devices to start video.
Lad, Prabhakar [Sat, 25 May 2013 16:39:33 +0000 (13:39 -0300)]
[media] ARM: davinci: dm365 evm: remove init_enable from ths7303 pdata
Remove init_enable from ths7303 pdata as it is being dropped
from ths7303_platform_data.
The purpose of init_enable was that the device should start streaming video
immediately but instead the bridge drivers should call s_stream explicitly
for such devices. This is in fact what happens for the dm365, so setting
init_enable here never made sense in the first place.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
[hans.verkuil@cisco.com: improve the commit comment] Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Vladimir Barinov [Wed, 29 May 2013 17:52:28 +0000 (14:52 -0300)]
[media] ML86V7667: new video decoder driver
Add OKI Semiconductor ML86V7667 video decoder driver.
[Sergei: added v4l2_device_unregister_subdev() call to the error cleanup path
of ml86v7667_probe(), renamed ml86v7667_try_mbus_fmt() to ml86v7667_mbus_fmt(),
killed v4l2_chip_match_i2c_client() checks in the [gs]_register() methods, fixed
the prototype of the s_register() method, did some cleanup.]
Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Vladimir Barinov [Wed, 29 May 2013 17:50:57 +0000 (14:50 -0300)]
[media] adv7180: add more subdev video ops
Add subdev video ops for ADV7180 video decoder. This makes decoder usable on
the soc-camera drivers.
[Sergei: renamed adv7180_try_mbus_fmt() to adv7180_mbus_fmt().]
Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Wed, 29 May 2013 06:55:15 +0000 (03:55 -0300)]
[media] hdpvr: improve error handling
get_video_info() should never return EFAULT, instead it should return
the low-level usb_control_msg() error. Add a valid field to the hdpvr_video_info
struct so the driver can easily check if a valid format was detected.
Whenever get_video_info is called and it returns an error (e.g. usb_control_msg
failed), then return that error to userspace as well.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
[media] s5p-tv: Don't ignore return value of regulator_bulk_enable() in hdmi_drv.c
This patch fixes following compilation warning:
CC [M] drivers/media/platform/s5p-tv/hdmi_drv.o
drivers/media/platform/s5p-tv/hdmi_drv.c: In function ‘hdmi_resource_poweron’:
drivers/media/platform/s5p-tv/hdmi_drv.c:583:23: warning: ignoring return value
of ‘regulator_bulk_enable’, declared with attribute warn_unused_result
[media] s5p-tv: Do not ignore regulator/clk API return values in sdo_drv.c
This patch fixes following compilation warning:
drivers/media/platform/s5p-tv/sdo_drv.c: In function ‘sdo_runtime_resume’:
drivers/media/platform/s5p-tv/sdo_drv.c:268:18: warning: ignoring return value of ‘regulator_enable’,
declared with attribute warn_unused_result
drivers/media/platform/s5p-tv/sdo_drv.c:269:18: warning: ignoring return value of ‘regulator_enable’,
declared with attribute warn_unused_result
[media] s5p-tv: Don't ignore return value of regulator_enable() in sii9234_drv.c
This patch fixes following compilation warning:
CC [M] drivers/media/platform/s5p-tv/sii9234_drv.o
drivers/media/platform/s5p-tv/sii9234_drv.c: In function ‘sii9234_runtime_resume’:
drivers/media/platform/s5p-tv/sii9234_drv.c:252:18: warning: ignoring return
value of ‘regulator_enable’, declared with attribute warn_unused_result
[media] exynos4-is: Extend link_notify handler to support fimc-is/lite pipelines
This patch corrects the link_notify handler to support more complex
pipelines, including fimc-lite and fimc-is entities.
After the FIMC-IS driver addition the assumptions made in the link_notify
callback are no longer valid, e.g. the link between fimc-lite subdev and
its video node is not immutable any more and there is more subdevs than
just sensor, MIPI-CSIS and FIMC(-LITE).
The graph is now walked and for each video node found a media pipeline
which ends at this node is disabled/enabled (the subdevs are powered
on/off).
[media] media: Change media device link_notify behaviour
Currently the media device link_notify callback is invoked before the
actual change of state of a link when the link is being enabled, and
after the actual change of state when the link is being disabled.
This doesn't allow a media device driver to perform any operations
on a full graph before a link is disabled, as well as performing
any tasks on a modified graph right after a link's state is changed.
This patch modifies signature of the link_notify callback. This
callback is now called always before and after a link's state change.
To distinguish the notifications a 'notification' argument is added
to the link_notify callback: MEDIA_DEV_NOTIFY_PRE_LINK_CH indicates
notification before link's state change and
MEDIA_DEV_NOTIFY_POST_LINK_CH corresponds to a notification after
link flags change.
[media] exynos4-is: Move __fimc_videoc_querycap() function to the common module
Move __fimc_videoc_querycap() function to the common exynos4-is-common.ko
module so it don't need to be reimplemented in multiple video node drivers
of the exynos4-is.