Re: [PATCH v8 31/55] [media] media: add macros to check if subdev or V4L2 DMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mauro,

Thank you for the patch.

On Sunday 06 September 2015 09:02:57 Mauro Carvalho Chehab wrote:
> 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).
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
> 
> diff --git a/include/media/media-entity.h b/include/media/media-entity.h
> index 4e36b1f2b2d7..220864319d21 100644
> --- a/include/media/media-entity.h
> +++ b/include/media/media-entity.h
> @@ -220,6 +220,39 @@ 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_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:

I'm sorry but this simply won't scale. We need a better way to determine the 
entity type, and this could be a valid use case to actually retain an entity 
type field separate from the function, at least inside the kernel.

> +		return true;
> +
> +	default:
> +		return false;
> +	}
> +}
> +
>  #define MEDIA_ENTITY_ENUM_MAX_DEPTH	16
>  #define MEDIA_ENTITY_ENUM_MAX_ID	64

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux