diff mbox series

[1/3] iio: vl6180: Use DIV_ROUND_CLOSEST() instead of open-coding it

Message ID 20201227171126.28216-1-lars@metafoo.de (mailing list archive)
State New
Headers show
Series [1/3] iio: vl6180: Use DIV_ROUND_CLOSEST() instead of open-coding it | expand

Commit Message

Lars-Peter Clausen Dec. 27, 2020, 5:11 p.m. UTC
Use DIV_ROUND_CLOSEST() instead of open-coding it. This documents intent
and makes it more clear what is going on for the casual reviewer.

Generated using the following the Coccinelle semantic patch.

// <smpl>
@r1@
expression x;
constant C1;
constant C2;
@@
 ((x) + C1) / C2

@script:python@
C1 << r1.C1;
C2 << r1.C2;
@@
try:
	if int(C1) * 2 != int(C2):
		cocci.include_match(False)
except:
	cocci.include_match(False)

@@
expression r1.x;
constant r1.C1;
constant r1.C2;
@@
-(((x) + C1) / C2)
+DIV_ROUND_CLOSEST(x, C2)
// </smpl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/light/vl6180.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Manivannan Sadhasivam Dec. 28, 2020, 5:58 a.m. UTC | #1
On Sun, Dec 27, 2020 at 06:11:24PM +0100, Lars-Peter Clausen wrote:
> Use DIV_ROUND_CLOSEST() instead of open-coding it. This documents intent
> and makes it more clear what is going on for the casual reviewer.
> 
> Generated using the following the Coccinelle semantic patch.
> 
> // <smpl>
> @r1@
> expression x;
> constant C1;
> constant C2;
> @@
>  ((x) + C1) / C2
> 
> @script:python@
> C1 << r1.C1;
> C2 << r1.C2;
> @@
> try:
> 	if int(C1) * 2 != int(C2):
> 		cocci.include_match(False)
> except:
> 	cocci.include_match(False)
> 
> @@
> expression r1.x;
> constant r1.C1;
> constant r1.C2;
> @@
> -(((x) + C1) / C2)
> +DIV_ROUND_CLOSEST(x, C2)
> // </smpl>
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>

Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>

Thanks,
Mani

> ---
>  drivers/iio/light/vl6180.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/light/vl6180.c b/drivers/iio/light/vl6180.c
> index 4775bd785e50..d47a4f6f4e87 100644
> --- a/drivers/iio/light/vl6180.c
> +++ b/drivers/iio/light/vl6180.c
> @@ -392,7 +392,7 @@ static int vl6180_set_it(struct vl6180_data *data, int val, int val2)
>  {
>  	int ret, it_ms;
>  
> -	it_ms = (val2 + 500) / 1000; /* round to ms */
> +	it_ms = DIV_ROUND_CLOSEST(val2, 1000); /* round to ms */
>  	if (val != 0 || it_ms < 1 || it_ms > 512)
>  		return -EINVAL;
>  
> -- 
> 2.20.1
>
Jonathan Cameron Dec. 29, 2020, 1:58 p.m. UTC | #2
On Mon, 28 Dec 2020 11:28:30 +0530
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> wrote:

> On Sun, Dec 27, 2020 at 06:11:24PM +0100, Lars-Peter Clausen wrote:
> > Use DIV_ROUND_CLOSEST() instead of open-coding it. This documents intent
> > and makes it more clear what is going on for the casual reviewer.
> > 
> > Generated using the following the Coccinelle semantic patch.
> > 
> > // <smpl>
> > @r1@
> > expression x;
> > constant C1;
> > constant C2;
> > @@
> >  ((x) + C1) / C2
> > 
> > @script:python@
> > C1 << r1.C1;
> > C2 << r1.C2;
> > @@
> > try:
> > 	if int(C1) * 2 != int(C2):
> > 		cocci.include_match(False)
> > except:
> > 	cocci.include_match(False)
> > 
> > @@
> > expression r1.x;
> > constant r1.C1;
> > constant r1.C2;
> > @@
> > -(((x) + C1) / C2)
> > +DIV_ROUND_CLOSEST(x, C2)
> > // </smpl>
> > 
> > Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>  
> 
> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
> 
Series applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to work their magic.

Thanks,

Jonathan

> Thanks,
> Mani
> 
> > ---
> >  drivers/iio/light/vl6180.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/iio/light/vl6180.c b/drivers/iio/light/vl6180.c
> > index 4775bd785e50..d47a4f6f4e87 100644
> > --- a/drivers/iio/light/vl6180.c
> > +++ b/drivers/iio/light/vl6180.c
> > @@ -392,7 +392,7 @@ static int vl6180_set_it(struct vl6180_data *data, int val, int val2)
> >  {
> >  	int ret, it_ms;
> >  
> > -	it_ms = (val2 + 500) / 1000; /* round to ms */
> > +	it_ms = DIV_ROUND_CLOSEST(val2, 1000); /* round to ms */
> >  	if (val != 0 || it_ms < 1 || it_ms > 512)
> >  		return -EINVAL;
> >  
> > -- 
> > 2.20.1
> >
diff mbox series

Patch

diff --git a/drivers/iio/light/vl6180.c b/drivers/iio/light/vl6180.c
index 4775bd785e50..d47a4f6f4e87 100644
--- a/drivers/iio/light/vl6180.c
+++ b/drivers/iio/light/vl6180.c
@@ -392,7 +392,7 @@  static int vl6180_set_it(struct vl6180_data *data, int val, int val2)
 {
 	int ret, it_ms;
 
-	it_ms = (val2 + 500) / 1000; /* round to ms */
+	it_ms = DIV_ROUND_CLOSEST(val2, 1000); /* round to ms */
 	if (val != 0 || it_ms < 1 || it_ms > 512)
 		return -EINVAL;