2019-10-09 15:00:15

by zhong jiang

[permalink] [raw]
Subject: [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly

With the help of Coccinelle. I find some place that DIV_ROUND_CLOSEST
can replace it directly.

v1->v2:
patch 1: remove mt312_div() to use the DIV_ROUND_CLOSEST directly.

zhong jiang (4):
media: dvb-frontends: Use DIV_ROUND_CLOSEST directly to make it
readable
media: tuners/qm1d1c0042: Use DIV_ROUND_CLOSEST directly to make it
readable
media: uvcvideo: Use DIV_ROUND_CLOSEST directly to make it readable
media: v4l2-dv-timings: Use DIV_ROUND_CLOSEST directly to make it
readable

drivers/media/dvb-frontends/mt312.c | 14 +++++---------
drivers/media/tuners/qm1d1c0042.c | 2 +-
drivers/media/usb/uvc/uvc_ctrl.c | 4 ++--
drivers/media/v4l2-core/v4l2-dv-timings.c | 2 +-
4 files changed, 9 insertions(+), 13 deletions(-)

--
1.7.12.4


2019-10-09 15:00:47

by zhong jiang

[permalink] [raw]
Subject: [PATCH v2 4/4] media: v4l2-dv-timings: Use DIV_ROUND_CLOSEST directly to make it readable

The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.

Signed-off-by: zhong jiang <[email protected]>
---
drivers/media/v4l2-core/v4l2-dv-timings.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/v4l2-core/v4l2-dv-timings.c b/drivers/media/v4l2-core/v4l2-dv-timings.c
index 4f23e93..2b399c0 100644
--- a/drivers/media/v4l2-core/v4l2-dv-timings.c
+++ b/drivers/media/v4l2-core/v4l2-dv-timings.c
@@ -757,7 +757,7 @@ bool v4l2_detect_gtf(unsigned frame_height,
pix_clk = pix_clk / GTF_PXL_CLK_GRAN * GTF_PXL_CLK_GRAN;

hsync = (frame_width * 8 + 50) / 100;
- hsync = ((hsync + GTF_CELL_GRAN / 2) / GTF_CELL_GRAN) * GTF_CELL_GRAN;
+ hsync = DIV_ROUND_CLOSEST(hsync, GTF_CELL_GRAN) * GTF_CELL_GRAN;

h_fp = h_blank / 2 - hsync;

--
1.7.12.4

2019-10-09 15:01:53

by zhong jiang

[permalink] [raw]
Subject: [PATCH v2 3/4] media: uvcvideo: Use DIV_ROUND_CLOSEST directly to make it readable

The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.

Signed-off-by: zhong jiang <[email protected]>
---
drivers/media/usb/uvc/uvc_ctrl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c
index e399b9f..9f3697161 100644
--- a/drivers/media/usb/uvc/uvc_ctrl.c
+++ b/drivers/media/usb/uvc/uvc_ctrl.c
@@ -1604,8 +1604,8 @@ int uvc_ctrl_set(struct uvc_fh *handle,
if (step == 0)
step = 1;

- xctrl->value = min + ((u32)(xctrl->value - min) + step / 2)
- / step * step;
+ xctrl->value = min + DIV_ROUND_CLOSEST((u32)(xctrl->value - min),
+ step) * step;
if (mapping->data_type == UVC_CTRL_DATA_TYPE_SIGNED)
xctrl->value = clamp(xctrl->value, min, max);
else
--
1.7.12.4