linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).