[media] v4l: Make v4l2_subdev inherit from media_entity
V4L2 subdevices are media entities. As such they need to inherit from (include) the media_entity structure. When registering/unregistering the subdevice, the media entity is automatically registered/unregistered. The entity is acquired on device open and released on device close. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
2c0ab67be1
commit
61f5db549d
@@ -21,6 +21,7 @@
|
||||
#ifndef _V4L2_SUBDEV_H
|
||||
#define _V4L2_SUBDEV_H
|
||||
|
||||
#include <media/media-entity.h>
|
||||
#include <media/v4l2-common.h>
|
||||
#include <media/v4l2-dev.h>
|
||||
#include <media/v4l2-mediabus.h>
|
||||
@@ -450,6 +451,9 @@ struct v4l2_subdev_internal_ops {
|
||||
stand-alone or embedded in a larger struct.
|
||||
*/
|
||||
struct v4l2_subdev {
|
||||
#if defined(CONFIG_MEDIA_CONTROLLER)
|
||||
struct media_entity entity;
|
||||
#endif
|
||||
struct list_head list;
|
||||
struct module *owner;
|
||||
u32 flags;
|
||||
@@ -472,6 +476,8 @@ struct v4l2_subdev {
|
||||
unsigned int nevents;
|
||||
};
|
||||
|
||||
#define media_entity_to_v4l2_subdev(ent) \
|
||||
container_of(ent, struct v4l2_subdev, entity)
|
||||
#define vdev_to_v4l2_subdev(vdev) \
|
||||
container_of(vdev, struct v4l2_subdev, devnode)
|
||||
|
||||
|
Reference in New Issue
Block a user