* [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly
@ 2019-10-09 14:55 zhong jiang
2019-10-09 14:55 ` [PATCH v2 1/4] media: dvb-frontends: Use DIV_ROUND_CLOSEST directly to make it readable zhong jiang
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: zhong jiang @ 2019-10-09 14:55 UTC (permalink / raw)
To: mchehab, sean, hansverk, daniel.vetter
Cc: linux-media, zhongjiang, linux-kernel
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/4] media: dvb-frontends: Use DIV_ROUND_CLOSEST directly to make it readable
2019-10-09 14:55 [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly zhong jiang
@ 2019-10-09 14:55 ` zhong jiang
2019-10-09 14:55 ` [PATCH v2 2/4] media: tuners/qm1d1c0042: " zhong jiang
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: zhong jiang @ 2019-10-09 14:55 UTC (permalink / raw)
To: mchehab, sean, hansverk, daniel.vetter
Cc: linux-media, zhongjiang, linux-kernel
The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
drivers/media/dvb-frontends/mt312.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/media/dvb-frontends/mt312.c b/drivers/media/dvb-frontends/mt312.c
index 7cae7d6..5c4090c 100644
--- a/drivers/media/dvb-frontends/mt312.c
+++ b/drivers/media/dvb-frontends/mt312.c
@@ -135,11 +135,6 @@ static inline int mt312_writereg(struct mt312_state *state,
return mt312_write(state, reg, &tmp, 1);
}
-static inline u32 mt312_div(u32 a, u32 b)
-{
- return (a + (b / 2)) / b;
-}
-
static int mt312_reset(struct mt312_state *state, const u8 full)
{
return mt312_writereg(state, RESET, full ? 0x80 : 0x40);
@@ -187,7 +182,7 @@ static int mt312_get_symbol_rate(struct mt312_state *state, u32 *sr)
monitor = (buf[0] << 8) | buf[1];
dprintk("sr(auto) = %u\n",
- mt312_div(monitor * 15625, 4));
+ DIV_ROUND_CLOSEST(monitor * 15625, 4));
} else {
ret = mt312_writereg(state, MON_CTRL, 0x05);
if (ret < 0)
@@ -291,10 +286,11 @@ static int mt312_initfe(struct dvb_frontend *fe)
}
/* SYS_CLK */
- buf[0] = mt312_div(state->xtal * state->freq_mult * 2, 1000000);
+ buf[0] = DIV_ROUND_CLOSEST(state->xtal *
+ state->freq_mult * 2, 1000000);
/* DISEQC_RATIO */
- buf[1] = mt312_div(state->xtal, 22000 * 4);
+ buf[1] = DIV_ROUND_CLOSEST(state->xtal, 22000 * 4);
ret = mt312_write(state, SYS_CLK, buf, sizeof(buf));
if (ret < 0)
@@ -610,7 +606,7 @@ static int mt312_set_frontend(struct dvb_frontend *fe)
}
/* sr = (u16)(sr * 256.0 / 1000000.0) */
- sr = mt312_div(p->symbol_rate * 4, 15625);
+ sr = DIV_ROUND_CLOSEST(p->symbol_rate * 4, 15625);
/* SYM_RATE */
buf[0] = (sr >> 8) & 0x3f;
--
1.7.12.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/4] media: tuners/qm1d1c0042: Use DIV_ROUND_CLOSEST directly to make it readable
2019-10-09 14:55 [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly zhong jiang
2019-10-09 14:55 ` [PATCH v2 1/4] media: dvb-frontends: Use DIV_ROUND_CLOSEST directly to make it readable zhong jiang
@ 2019-10-09 14:55 ` zhong jiang
2019-10-09 14:55 ` [PATCH v2 3/4] media: uvcvideo: " zhong jiang
2019-10-09 14:55 ` [PATCH v2 4/4] media: v4l2-dv-timings: " zhong jiang
3 siblings, 0 replies; 5+ messages in thread
From: zhong jiang @ 2019-10-09 14:55 UTC (permalink / raw)
To: mchehab, sean, hansverk, daniel.vetter
Cc: linux-media, zhongjiang, linux-kernel
The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
drivers/media/tuners/qm1d1c0042.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/tuners/qm1d1c0042.c b/drivers/media/tuners/qm1d1c0042.c
index 83ca5dc..0e26d22 100644
--- a/drivers/media/tuners/qm1d1c0042.c
+++ b/drivers/media/tuners/qm1d1c0042.c
@@ -206,7 +206,7 @@ static int qm1d1c0042_set_params(struct dvb_frontend *fe)
if (ret < 0)
return ret;
- a = (freq + state->cfg.xtal_freq / 2) / state->cfg.xtal_freq;
+ a = DIV_ROUND_CLOSEST(freq, state->cfg.xtal_freq);
state->regs[0x06] &= 0x40;
state->regs[0x06] |= (a - 12) / 4;
--
1.7.12.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 3/4] media: uvcvideo: Use DIV_ROUND_CLOSEST directly to make it readable
2019-10-09 14:55 [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly zhong jiang
2019-10-09 14:55 ` [PATCH v2 1/4] media: dvb-frontends: Use DIV_ROUND_CLOSEST directly to make it readable zhong jiang
2019-10-09 14:55 ` [PATCH v2 2/4] media: tuners/qm1d1c0042: " zhong jiang
@ 2019-10-09 14:55 ` zhong jiang
2019-10-09 14:55 ` [PATCH v2 4/4] media: v4l2-dv-timings: " zhong jiang
3 siblings, 0 replies; 5+ messages in thread
From: zhong jiang @ 2019-10-09 14:55 UTC (permalink / raw)
To: mchehab, sean, hansverk, daniel.vetter
Cc: linux-media, zhongjiang, linux-kernel
The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 4/4] media: v4l2-dv-timings: Use DIV_ROUND_CLOSEST directly to make it readable
2019-10-09 14:55 [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly zhong jiang
` (2 preceding siblings ...)
2019-10-09 14:55 ` [PATCH v2 3/4] media: uvcvideo: " zhong jiang
@ 2019-10-09 14:55 ` zhong jiang
3 siblings, 0 replies; 5+ messages in thread
From: zhong jiang @ 2019-10-09 14:55 UTC (permalink / raw)
To: mchehab, sean, hansverk, daniel.vetter
Cc: linux-media, zhongjiang, linux-kernel
The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-10-09 14:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-09 14:55 [PATCH v2 0/4] media: Use DIV_ROUND_CLOSEST directly zhong jiang
2019-10-09 14:55 ` [PATCH v2 1/4] media: dvb-frontends: Use DIV_ROUND_CLOSEST directly to make it readable zhong jiang
2019-10-09 14:55 ` [PATCH v2 2/4] media: tuners/qm1d1c0042: " zhong jiang
2019-10-09 14:55 ` [PATCH v2 3/4] media: uvcvideo: " zhong jiang
2019-10-09 14:55 ` [PATCH v2 4/4] media: v4l2-dv-timings: " zhong jiang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).