linux/drivers/media/v4l2-core
Sakari Ailus 698da18e08 [media] v4l: of: Parse variable length properties --- link-frequencies
The link-frequencies property is a variable length array of link frequencies
in an endpoint. The array is needed by an increasing number of drivers, so
it makes sense to add it to struct v4l2_of_endpoint.

However, the length of the array is variable and the size of struct
v4l2_of_endpoint is fixed since it is allocated by the caller. The options
here are

1. to define a fixed maximum limit of link frequencies that has to be the
global maximum of all boards. This is seen as problematic since the maximum
could be largish, and everyone hitting the problem would need to submit a
patch to fix it, or

2. parse the property in every driver. This doesn't sound appealing as two
of the three implementations submitted to linux-media were wrong, and one of
them was even merged before this was noticed, or

3. change the interface so that allocating and releasing memory according to
the size of the array is possible. This is what the patch does.

v4l2_of_alloc_parse_endpoint() is just like v4l2_of_parse_endpoint(), but it
will allocate the memory resources needed to store struct v4l2_of_endpoint
and the additional arrays pointed to by this struct. A corresponding release
function v4l2_of_free_endpoint() is provided to release the memory allocated
by v4l2_of_alloc_parse_endpoint().

In addition to this, the link-frequencies property is parsed as well, and
the result is stored to struct v4l2_of_endpoint field link_frequencies.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-04-27 16:04:28 -03:00
..
Kconfig v4l2-pci-skeleton: Only build if PCI is available 2014-09-26 11:02:58 +02:00
Makefile [media] vb2: Add videobuf2-dvb support 2014-04-16 18:59:29 -03:00
tuner-core.c [media] tuner-core: fix compilation if the media controller is not defined 2015-02-26 08:44:04 -03:00
v4l2-async.c [media] v4l2-async: Don't use dynamic static allocation 2013-11-08 09:45:43 -02:00
v4l2-clk.c [media] V4L: add CCF support to the v4l2_clk API 2015-04-02 18:33:42 -03:00
v4l2-common.c [media] v4l2-common: move v4l2_ctrl_check to cx2341x 2014-11-25 08:25:36 -02:00
v4l2-compat-ioctl32.c [media] V4L2: fix VIDIOC_CREATE_BUFS 32-bit compatibility mode data copy-back 2014-11-03 15:11:59 -02:00
v4l2-ctrls.c [media] media/v4l2-ctrls: Always execute EXECUTE_ON_WRITE ctrls 2015-04-08 06:34:44 -03:00
v4l2-dev.c [media] v4l2-dev: disable selection ioctls for non-video devices 2015-04-02 18:30:00 -03:00
v4l2-device.c [media] v4l2-core: remove the old .ioctl BKL replacement 2015-03-02 17:06:56 -03:00
v4l2-dv-timings.c [media] v4l2-dv-timings: log new V4L2_DV_FL_IS_CE_VIDEO flag 2015-04-08 06:37:32 -03:00
v4l2-event.c [media] v4l: Add source change event 2014-05-23 19:50:40 -03:00
v4l2-fh.c [media] media: v4l2-core: remove the use of V4L2_FL_USE_FH_PRIO flag 2014-07-04 16:14:22 -03:00
v4l2-ioctl.c [media] v4l2-ioctl: allow all controls if ctrl_class == 0 2015-04-02 18:30:36 -03:00
v4l2-mem2mem.c [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove 2015-04-10 09:47:34 -03:00
v4l2-of.c [media] v4l: of: Parse variable length properties --- link-frequencies 2015-04-27 16:04:28 -03:00
v4l2-subdev.c [media] V4L2: Delete an unnecessary check before the function call "media_entity_put" 2015-04-08 07:38:19 -03:00
videobuf2-core.c media: remove unused variable that causes a warning 2015-04-21 12:49:33 -07:00
videobuf2-dma-contig.c dma-buf: cleanup dma_buf_export() to make it easily extensible 2015-04-21 14:47:16 +05:30
videobuf2-dma-sg.c dma-buf: cleanup dma_buf_export() to make it easily extensible 2015-04-21 14:47:16 +05:30
videobuf2-dvb.c [media] vb2: Add videobuf2-dvb support 2014-04-16 18:59:29 -03:00
videobuf2-memops.c Revert "[media] v4l: vb2-memops: use vma slab when vma allocation" 2015-04-08 13:17:09 -03:00
videobuf2-vmalloc.c dma-buf: cleanup dma_buf_export() to make it easily extensible 2015-04-21 14:47:16 +05:30
videobuf-core.c [media] videobuf: fix sparse warnings 2014-11-05 09:07:58 -02:00
videobuf-dma-contig.c [media] videobuf-dma-contig: set vm_pgoff to be zero to pass the sanity check in vm_iomap_memory() 2014-10-24 09:32:41 -02:00
videobuf-dma-sg.c [media] videobuf: make unused exported functions static 2015-01-27 10:01:33 -02:00
videobuf-dvb.c
videobuf-vmalloc.c [media] Revert "[media] videobuf_vm_{open,close} race fixes" 2014-02-04 06:29:46 -02:00