提交 fa17b46a 编写于 作者: M Mauro Carvalho Chehab

[media] media: add macros to check if subdev or V4L2 DMA

As we'll be removing entity subtypes from the Kernel, we need
to provide a way for drivers and core to check if a given
entity is represented by a V4L2 subdev or if it is an V4L2
I/O entity (typically with DMA).

Drivers that create entities that don't belong to any defined subdev
category should use MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN.
Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 fef486a0
......@@ -220,6 +220,40 @@ static inline u32 media_gobj_gen_id(enum media_gobj_type type, u32 local_id)
return id;
}
static inline bool is_media_entity_v4l2_io(struct media_entity *entity)
{
if (!entity)
return false;
switch (entity->type) {
case MEDIA_ENT_T_V4L2_VIDEO:
case MEDIA_ENT_T_V4L2_VBI:
case MEDIA_ENT_T_V4L2_SWRADIO:
return true;
default:
return false;
}
}
static inline bool is_media_entity_v4l2_subdev(struct media_entity *entity)
{
if (!entity)
return false;
switch (entity->type) {
case MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN:
case MEDIA_ENT_T_V4L2_SUBDEV_SENSOR:
case MEDIA_ENT_T_V4L2_SUBDEV_FLASH:
case MEDIA_ENT_T_V4L2_SUBDEV_LENS:
case MEDIA_ENT_T_V4L2_SUBDEV_DECODER:
case MEDIA_ENT_T_V4L2_SUBDEV_TUNER:
return true;
default:
return false;
}
}
#define MEDIA_ENTITY_ENUM_MAX_DEPTH 16
#define MEDIA_ENTITY_ENUM_MAX_ID 64
......
......@@ -75,6 +75,9 @@ struct media_device_info {
#define MEDIA_ENT_T_V4L2_SWRADIO (MEDIA_ENT_T_V4L2_BASE + 6)
/* V4L2 Sub-device entities */
#define MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_T_V4L2_SUBDEV_BASE
#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 1)
#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 2)
#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV_BASE + 3)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册