diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-03-08 21:02:10 +0100 |
---|---|---|
committer | Hans Verkuil <hverkuil@xs4all.nl> | 2009-03-08 21:02:10 +0100 |
commit | 3d3fd89aabd81c1e33baf3dcf16329457cd82c77 (patch) | |
tree | 796ab96b90893424381daa2b874058a3ef5d94df /linux/include | |
parent | 1bd1aedc7af71728404f5d7b059dd8ca52d01f9f (diff) | |
download | mediapointer-dvb-s2-3d3fd89aabd81c1e33baf3dcf16329457cd82c77.tar.gz mediapointer-dvb-s2-3d3fd89aabd81c1e33baf3dcf16329457cd82c77.tar.bz2 |
v4l2-device: add a notify callback.
From: Hans Verkuil <hverkuil@xs4all.nl>
Add a notify callback to v4l2_device to let sub-devices notify their
parent of special events.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'linux/include')
-rw-r--r-- | linux/include/media/v4l2-device.h | 3 | ||||
-rw-r--r-- | linux/include/media/v4l2-subdev.h | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/linux/include/media/v4l2-device.h b/linux/include/media/v4l2-device.h index 5d7146dc2..3d8e96f6c 100644 --- a/linux/include/media/v4l2-device.h +++ b/linux/include/media/v4l2-device.h @@ -44,6 +44,9 @@ struct v4l2_device { spinlock_t lock; /* unique device name, by default the driver name + bus ID */ char name[V4L2_DEVICE_NAME_SIZE]; + /* notify callback called by some sub-devices. */ + void (*notify)(struct v4l2_subdev *sd, + unsigned int notification, void *arg); }; /* Initialize v4l2_dev and make dev->driver_data point to v4l2_dev. diff --git a/linux/include/media/v4l2-subdev.h b/linux/include/media/v4l2-subdev.h index 05b69652e..1b97a2c33 100644 --- a/linux/include/media/v4l2-subdev.h +++ b/linux/include/media/v4l2-subdev.h @@ -191,4 +191,9 @@ static inline void v4l2_subdev_init(struct v4l2_subdev *sd, (!(sd) ? -ENODEV : (((sd) && (sd)->ops->o && (sd)->ops->o->f) ? \ (sd)->ops->o->f((sd) , ##args) : -ENOIOCTLCMD)) +/* Send a notification to v4l2_device. */ +#define v4l2_subdev_notify(sd, notification, arg) \ + ((!(sd) || !(sd)->v4l2_dev || !(sd)->v4l2_dev->notify) ? -ENODEV : \ + (sd)->v4l2_dev->notify((sd), (notification), (arg))) + #endif |