diff options
| author | Steve Longerbeam <slongerbeam@gmail.com> | 2017-12-14 20:04:44 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-12-15 14:06:58 -0500 |
| commit | 9f6a0c59eba91c116f6cd7a487f4929faa07a7f8 (patch) | |
| tree | 5bba05427e184f2de26ebb47a7e0911547970270 /include/uapi/linux/errqueue.h | |
| parent | 4eef678d32d3d2f5c7e9d6c58f4d78e275638b4f (diff) | |
| download | cachepc-linux-9f6a0c59eba91c116f6cd7a487f4929faa07a7f8.tar.gz cachepc-linux-9f6a0c59eba91c116f6cd7a487f4929faa07a7f8.zip | |
media: staging/imx: remove static subdev arrays
For more complex OF graphs, there will be more async subdevices
registered. Remove the static subdev[IMX_MEDIA_MAX_SUBDEVS] array,
so that imx-media places no limits on the number of async subdevs
that can be added and registered.
There were two uses for 'struct imx_media_subdev'. First was to act
as the async subdev list to be passed to v4l2_async_notifier_register().
Second was to aid in inheriting subdev controls to the capture devices,
and this is done by creating a list of capture devices that can be reached
from a subdev's source pad. So 'struct imx_media_subdev' also contained
a static array of 'struct imx_media_pad' for placing the capture device
lists at each pad.
'struct imx_media_subdev' has been completely removed. Instead, at async
completion, allocate an array of 'struct imx_media_pad' and attach it to
the subdev's host_priv pointer, in order to support subdev controls
inheritance.
Likewise, remove static async_ptrs[IMX_MEDIA_MAX_SUBDEVS] array.
Instead, allocate a 'struct imx_media_async_subdev' when forming
the async list, and add it to an asd_list list_head in
imx_media_add_async_subdev(). At async completion, allocate the
asd pointer list and pull the asd's off asd_list for
v4l2_async_notifier_register().
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'include/uapi/linux/errqueue.h')
0 files changed, 0 insertions, 0 deletions
