Re: [PATCH v2 1/3] v4l: common: v4l2_get_link_freq: add printing a warning

From: Jacopo Mondi
Date: Thu Feb 18 2021 - 04:01:25 EST


Hi Andrey,

On Thu, Feb 18, 2021 at 01:11:32AM +0300, Andrey Konovalov wrote:
> Print a warning if V4L2_CID_LINK_FREQ control is not implemented.
>
> Signed-off-by: Andrey Konovalov <andrey.konovalov@xxxxxxxxxx>
> ---
> drivers/media/v4l2-core/v4l2-common.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
> index 133d20e40f82..f1abdf2ab4ec 100644
> --- a/drivers/media/v4l2-core/v4l2-common.c
> +++ b/drivers/media/v4l2-core/v4l2-common.c
> @@ -461,6 +461,8 @@ s64 v4l2_get_link_freq(struct v4l2_ctrl_handler *handler, unsigned int mul,
>
> freq = qm.value;
> } else {
> + pr_warn("%s: V4L2_CID_LINK_FREQ not implemented\n", __func__);
> +

It's a shame we can't access a struct device * somehow :(
Also, nitpicking (please bear with me here) it is absolutely correct
that V4L2_CID_LINK_FREQ is not implemented, but I think the real deal
here is that the link rate is estimanted from PIXEL_RATE and that
might be wrong.

What about (insipired from the error message in match_fwnode() which I
find useful)

pr_warn("%s: Link frequency estimanted using pixel rate: result might be inaccurate\n",
__func__);
pr_warn("%s: Consider implementing support for V4L2_CID_LINK_FREQ in the transmitter driver\n",
__func___);

Anyway, whatever works
Reviewed-by: Jacopo Mondi <jacopo@xxxxxxxxxx>

Thanks
j

> if (!mul || !div)
> return -ENOENT;
>
> --
> 2.17.1
>