mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 01:00:58 +07:00
[media] V4L2: add a common V4L2 subdevice platform data type
This struct shall be used by subdevice drivers to pass per-subdevice data, e.g. power supplies, to generic V4L2 methods, at the same time allowing optional host-specific extensions via the host_priv pointer. To avoid having to pass two pointers to those methods, add a pointer to this new struct to struct v4l2_subdev. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
507fcd3da2
commit
b1cbab05d9
@ -559,6 +559,17 @@ struct v4l2_subdev_internal_ops {
|
|||||||
/* Set this flag if this subdev generates events. */
|
/* Set this flag if this subdev generates events. */
|
||||||
#define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3)
|
#define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3)
|
||||||
|
|
||||||
|
struct regulator_bulk_data;
|
||||||
|
|
||||||
|
struct v4l2_subdev_platform_data {
|
||||||
|
/* Optional regulators uset to power on/off the subdevice */
|
||||||
|
struct regulator_bulk_data *regulators;
|
||||||
|
int num_regulators;
|
||||||
|
|
||||||
|
/* Per-subdevice data, specific for a certain video host device */
|
||||||
|
void *host_priv;
|
||||||
|
};
|
||||||
|
|
||||||
/* Each instance of a subdev driver should create this struct, either
|
/* Each instance of a subdev driver should create this struct, either
|
||||||
stand-alone or embedded in a larger struct.
|
stand-alone or embedded in a larger struct.
|
||||||
*/
|
*/
|
||||||
@ -592,6 +603,8 @@ struct v4l2_subdev {
|
|||||||
struct v4l2_async_subdev *asd;
|
struct v4l2_async_subdev *asd;
|
||||||
/* Pointer to the managing notifier. */
|
/* Pointer to the managing notifier. */
|
||||||
struct v4l2_async_notifier *notifier;
|
struct v4l2_async_notifier *notifier;
|
||||||
|
/* common part of subdevice platform data */
|
||||||
|
struct v4l2_subdev_platform_data *pdata;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define media_entity_to_v4l2_subdev(ent) \
|
#define media_entity_to_v4l2_subdev(ent) \
|
||||||
|
Loading…
Reference in New Issue
Block a user