mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-17 21:17:46 +07:00
[media] v4l2: allow v4l2_subdev_edid to be used with video nodes
Struct v4l2_subdev_edid and the VIDIOC_SUBDEV_G/S_EDID ioctls were specific for subdevices, but for hardware with a simple video pipeline you do not need/want to create subdevice nodes to just get/set the EDID. Move the v4l2_subdev_edid struct to v4l2-common.h and rename as v4l2_edid. Add the same ioctls to videodev2.h as well, thus allowing this API to be used with both video nodes and v4l-subdev nodes. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
bc826d6e39
commit
254a477701
@ -68,4 +68,12 @@
|
|||||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
|
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
|
||||||
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
|
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
|
||||||
|
|
||||||
|
struct v4l2_edid {
|
||||||
|
__u32 pad;
|
||||||
|
__u32 start_block;
|
||||||
|
__u32 blocks;
|
||||||
|
__u32 reserved[5];
|
||||||
|
__u8 __user *edid;
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* __V4L2_COMMON__ */
|
#endif /* __V4L2_COMMON__ */
|
||||||
|
@ -148,13 +148,8 @@ struct v4l2_subdev_selection {
|
|||||||
__u32 reserved[8];
|
__u32 reserved[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct v4l2_subdev_edid {
|
/* Backwards compatibility define --- to be removed */
|
||||||
__u32 pad;
|
#define v4l2_subdev_edid v4l2_edid
|
||||||
__u32 start_block;
|
|
||||||
__u32 blocks;
|
|
||||||
__u32 reserved[5];
|
|
||||||
__u8 __user *edid;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
|
#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
|
||||||
#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)
|
#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)
|
||||||
@ -174,7 +169,8 @@ struct v4l2_subdev_edid {
|
|||||||
_IOWR('V', 61, struct v4l2_subdev_selection)
|
_IOWR('V', 61, struct v4l2_subdev_selection)
|
||||||
#define VIDIOC_SUBDEV_S_SELECTION \
|
#define VIDIOC_SUBDEV_S_SELECTION \
|
||||||
_IOWR('V', 62, struct v4l2_subdev_selection)
|
_IOWR('V', 62, struct v4l2_subdev_selection)
|
||||||
#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_subdev_edid)
|
/* These two G/S_EDID ioctls are identical to the ioctls in videodev2.h */
|
||||||
#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_subdev_edid)
|
#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_edid)
|
||||||
|
#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_edid)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1913,6 +1913,8 @@ struct v4l2_create_buffers {
|
|||||||
#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu)
|
#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu)
|
||||||
#define VIDIOC_G_INPUT _IOR('V', 38, int)
|
#define VIDIOC_G_INPUT _IOR('V', 38, int)
|
||||||
#define VIDIOC_S_INPUT _IOWR('V', 39, int)
|
#define VIDIOC_S_INPUT _IOWR('V', 39, int)
|
||||||
|
#define VIDIOC_G_EDID _IOWR('V', 40, struct v4l2_edid)
|
||||||
|
#define VIDIOC_S_EDID _IOWR('V', 41, struct v4l2_edid)
|
||||||
#define VIDIOC_G_OUTPUT _IOR('V', 46, int)
|
#define VIDIOC_G_OUTPUT _IOR('V', 46, int)
|
||||||
#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)
|
#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)
|
||||||
#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output)
|
#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output)
|
||||||
|
Loading…
Reference in New Issue
Block a user