diff mbox series

[v2.1,1/3] v4l: common: v4l2_get_link_freq: add printing a warning

Message ID 20210218171640.18764-1-andrey.konovalov@linaro.org
State Superseded
Headers show
Series [v2.1,1/3] v4l: common: v4l2_get_link_freq: add printing a warning | expand

Commit Message

Andrey Konovalov Feb. 18, 2021, 5:16 p.m. UTC
Print a warning if V4L2_CID_LINK_FREQ control is not implemented.

Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

---
 drivers/media/v4l2-core/v4l2-common.c | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.17.1

Comments

Laurent Pinchart Feb. 21, 2021, 6:56 p.m. UTC | #1
Hi Andrey,

Thank you for the patch.

On Thu, Feb 18, 2021 at 08:16:40PM +0300, Andrey Konovalov wrote:
> Print a warning if V4L2_CID_LINK_FREQ control is not implemented.

> 

> Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>

> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>


Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>


> ---

>  drivers/media/v4l2-core/v4l2-common.c | 5 +++++

>  1 file changed, 5 insertions(+)

> 

> diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c

> index 133d20e40f82..04af03285a20 100644

> --- a/drivers/media/v4l2-core/v4l2-common.c

> +++ b/drivers/media/v4l2-core/v4l2-common.c

> @@ -469,6 +469,11 @@ s64 v4l2_get_link_freq(struct v4l2_ctrl_handler *handler, unsigned int mul,

>  			return -ENOENT;

>  

>  		freq = div_u64(v4l2_ctrl_g_ctrl_int64(ctrl) * mul, div);

> +

> +		pr_warn("%s: Link frequency estimated 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__);


It would still be nice if v4l2_ctrl_handler was extended with a struct
device pointer to use dev_warn() here, and allow replacing "the
transmitter driver" with the driver name.

>  	}

>  

>  	return freq > 0 ? freq : -EINVAL;


-- 
Regards,

Laurent Pinchart
diff mbox series

Patch

diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
index 133d20e40f82..04af03285a20 100644
--- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -469,6 +469,11 @@  s64 v4l2_get_link_freq(struct v4l2_ctrl_handler *handler, unsigned int mul,
 			return -ENOENT;
 
 		freq = div_u64(v4l2_ctrl_g_ctrl_int64(ctrl) * mul, div);
+
+		pr_warn("%s: Link frequency estimated 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__);
 	}
 
 	return freq > 0 ? freq : -EINVAL;