Hi Hans, Ezequiel & all.
I find it a bit hard to debug my own code when it invariably sneaks in a
bad control value with the VIDIOC_S_EXT_CTRLS ioctl.
I feel that it would be tremendously beneficial to encourage the use of
dprintk calls in v4l2-ctrls.c to inform the user about what pieces of
data were actually rejected in the validation functions.
#define dprintk(vdev, fmt, arg...) do { \
if (!WARN_ON(!(vdev)) && ((vdev)->dev_debug & V4L2_DEV_DEBUG_CTRL)) \
printk(KERN_DEBUG pr_fmt("%s: %s: " fmt), \
__func__, video_device_node_name(vdev), ##arg);
Unfortunately the dprintk macro above takes a pointer to struct
video_device as argument. This is not available in the places I want to
actually place the calls, as far as I could tell.
E.g. here:
static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx,
union v4l2_ctrl_ptr ptr)
I'd like to make the changes to make this possible, if any, or be
pointed at another solution if there is one - such as calling pr_err
directly or something along these lines - please.
Kindly advise?
-- thanks
-- Daniel