[media] v4l2-subdev.h: fix sparse error with v4l2_subdev_notify
The notify function is a void function, yet the v4l2_subdev_notify define uses it in a ? : construction, which causes sparse warnings. Replace the define by a static inline function and move it to v4l2-device.h, which is where it belongs since it needs to know the v4l2_device struct. This wasn't a problem when it was a define, but as a static inline function this no longer compiles in v4l2-subdev.h. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
ae5fd3d530
commit
ba76a6e6a5
2 changed files with 8 additions and 5 deletions
|
@ -120,6 +120,14 @@ void v4l2_device_unregister_subdev(struct v4l2_subdev *sd);
|
|||
int __must_check
|
||||
v4l2_device_register_subdev_nodes(struct v4l2_device *v4l2_dev);
|
||||
|
||||
/* Send a notification to v4l2_device. */
|
||||
static inline void v4l2_subdev_notify(struct v4l2_subdev *sd,
|
||||
unsigned int notification, void *arg)
|
||||
{
|
||||
if (sd && sd->v4l2_dev && sd->v4l2_dev->notify)
|
||||
sd->v4l2_dev->notify(sd, notification, arg);
|
||||
}
|
||||
|
||||
/* Iterate over all subdevs. */
|
||||
#define v4l2_device_for_each_subdev(sd, v4l2_dev) \
|
||||
list_for_each_entry(sd, &(v4l2_dev)->subdevs, list)
|
||||
|
|
|
@ -691,11 +691,6 @@ void v4l2_subdev_init(struct v4l2_subdev *sd,
|
|||
(!(sd) ? -ENODEV : (((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)))
|
||||
|
||||
#define v4l2_subdev_has_op(sd, o, f) \
|
||||
((sd)->ops->o && (sd)->ops->o->f)
|
||||
|
||||
|
|
Loading…
Reference in a new issue