* [PATCH 2/7] staging: most: Using macro DIV_ROUND_UP
@ 2017-02-21 18:56 simran singhal
2017-02-21 19:58 ` [Outreachy kernel] " Julia Lawall
0 siblings, 1 reply; 3+ messages in thread
From: simran singhal @ 2017-02-21 18:56 UTC (permalink / raw)
To: gregkh; +Cc: devel, linux-kernel, outreachy-kernel
The macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /(d)).
It clarifies the divisor calculations. This occurence was detected using
the coccinelle script:
@@
expression e1;
expression e2;
@@
(
- ((e1) + e2 - 1) / (e2)
+ DIV_ROUND_UP(e1,e2)
|
- ((e1) + (e2 - 1)) / (e2)
+ DIV_ROUND_UP(e1,e2)
)
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
---
drivers/staging/most/hdm-dim2/dim2_hal.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/most/hdm-dim2/dim2_hal.c b/drivers/staging/most/hdm-dim2/dim2_hal.c
index 0b9816c..6824826 100644
--- a/drivers/staging/most/hdm-dim2/dim2_hal.c
+++ b/drivers/staging/most/hdm-dim2/dim2_hal.c
@@ -49,7 +49,7 @@
#define DBR_SIZE (16 * 1024) /* specified by IP */
#define DBR_BLOCK_SIZE (DBR_SIZE / 32 / DBR_MAP_SIZE)
-#define ROUND_UP_TO(x, d) (((x) + (d) - 1) / (d) * (d))
+#define ROUND_UP_TO(x, d) (DIV_ROUND_UP(x, (d)) * (d))
/* -------------------------------------------------------------------------- */
/* generic helper functions and macros */
@@ -117,7 +117,7 @@ static int alloc_dbr(u16 size)
return DBR_SIZE; /* out of memory */
for (i = 0; i < DBR_MAP_SIZE; i++) {
- u32 const blocks = (size + DBR_BLOCK_SIZE - 1) / DBR_BLOCK_SIZE;
+ u32 const blocks = DIV_ROUND_UP(size, DBR_BLOCK_SIZE);
u32 mask = ~((~(u32)0) << blocks);
do {
@@ -137,7 +137,7 @@ static int alloc_dbr(u16 size)
static void free_dbr(int offs, int size)
{
int block_idx = offs / DBR_BLOCK_SIZE;
- u32 const blocks = (size + DBR_BLOCK_SIZE - 1) / DBR_BLOCK_SIZE;
+ u32 const blocks = DIV_ROUND_UP(size, DBR_BLOCK_SIZE);
u32 mask = ~((~(u32)0) << blocks);
mask <<= block_idx % 32;
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Outreachy kernel] [PATCH 2/7] staging: most: Using macro DIV_ROUND_UP
2017-02-21 18:56 [PATCH 2/7] staging: most: Using macro DIV_ROUND_UP simran singhal
@ 2017-02-21 19:58 ` Julia Lawall
[not found] ` <e9a638db-16fe-4e85-a132-c45c39307df1@googlegroups.com>
0 siblings, 1 reply; 3+ messages in thread
From: Julia Lawall @ 2017-02-21 19:58 UTC (permalink / raw)
To: simran singhal; +Cc: gregkh, devel, linux-kernel, outreachy-kernel
On Wed, 22 Feb 2017, simran singhal wrote:
> The macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /(d)).
> It clarifies the divisor calculations. This occurence was detected using
> the coccinelle script:
>
> @@
> expression e1;
> expression e2;
> @@
> (
> - ((e1) + e2 - 1) / (e2)
> + DIV_ROUND_UP(e1,e2)
> |
> - ((e1) + (e2 - 1)) / (e2)
> + DIV_ROUND_UP(e1,e2)
> )
DIV_ROUND_UP is defined in kernel.h, which defines some other generally
useful things. Maybe there is an opportunity for making rules from some
of them also.
julia
>
> Signed-off-by: simran singhal <singhalsimran0@gmail.com>
> ---
> drivers/staging/most/hdm-dim2/dim2_hal.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/most/hdm-dim2/dim2_hal.c b/drivers/staging/most/hdm-dim2/dim2_hal.c
> index 0b9816c..6824826 100644
> --- a/drivers/staging/most/hdm-dim2/dim2_hal.c
> +++ b/drivers/staging/most/hdm-dim2/dim2_hal.c
> @@ -49,7 +49,7 @@
> #define DBR_SIZE (16 * 1024) /* specified by IP */
> #define DBR_BLOCK_SIZE (DBR_SIZE / 32 / DBR_MAP_SIZE)
>
> -#define ROUND_UP_TO(x, d) (((x) + (d) - 1) / (d) * (d))
> +#define ROUND_UP_TO(x, d) (DIV_ROUND_UP(x, (d)) * (d))
>
> /* -------------------------------------------------------------------------- */
> /* generic helper functions and macros */
> @@ -117,7 +117,7 @@ static int alloc_dbr(u16 size)
> return DBR_SIZE; /* out of memory */
>
> for (i = 0; i < DBR_MAP_SIZE; i++) {
> - u32 const blocks = (size + DBR_BLOCK_SIZE - 1) / DBR_BLOCK_SIZE;
> + u32 const blocks = DIV_ROUND_UP(size, DBR_BLOCK_SIZE);
> u32 mask = ~((~(u32)0) << blocks);
>
> do {
> @@ -137,7 +137,7 @@ static int alloc_dbr(u16 size)
> static void free_dbr(int offs, int size)
> {
> int block_idx = offs / DBR_BLOCK_SIZE;
> - u32 const blocks = (size + DBR_BLOCK_SIZE - 1) / DBR_BLOCK_SIZE;
> + u32 const blocks = DIV_ROUND_UP(size, DBR_BLOCK_SIZE);
> u32 mask = ~((~(u32)0) << blocks);
>
> mask <<= block_idx % 32;
> --
> 2.7.4
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> To post to this group, send email to outreachy-kernel@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20170221185615.GA25627%40singhal-Inspiron-5558.
> For more options, visit https://groups.google.com/d/optout.
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Outreachy kernel] [PATCH 2/7] staging: most: Using macro DIV_ROUND_UP
[not found] ` <e9a638db-16fe-4e85-a132-c45c39307df1@googlegroups.com>
@ 2017-02-22 7:23 ` Julia Lawall
0 siblings, 0 replies; 3+ messages in thread
From: Julia Lawall @ 2017-02-22 7:23 UTC (permalink / raw)
To: SIMRAN SINGHAL; +Cc: outreachy-kernel, gregkh, devel, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 4322 bytes --]
On Tue, 21 Feb 2017, SIMRAN SINGHAL wrote:
>
>
> On Wednesday, February 22, 2017 at 1:28:52 AM UTC+5:30, Julia Lawall wrote:
>
>
> On Wed, 22 Feb 2017, simran singhal wrote:
>
> > The macro DIV_ROUND_UP performs the computation (((n) + (d) -
> 1) /(d)).
> > It clarifies the divisor calculations. This occurence was
> detected using
> > the coccinelle script:
> >
> > @@
> > expression e1;
> > expression e2;
> > @@
> > (
> > - ((e1) + e2 - 1) / (e2)
> > + DIV_ROUND_UP(e1,e2)
> > |
> > - ((e1) + (e2 - 1)) / (e2)
> > + DIV_ROUND_UP(e1,e2)
> > )
>
>
> DIV_ROUND_UP is defined in kernel.h, which defines some other
> generally
> useful things. Maybe there is an opportunity for making rules
> from some
> of them also.
>
>
> yes, for sure I will make other rules also, but do I have to include other
> rules in
> this patch only and resend v2.
It was just a suggestion for future work, not a complaint about this patch
:)
julia
>
>
> julia
>
> >
> > Signed-off-by: simran singhal <singhal...@gmail.com>
> > ---
> > drivers/staging/most/hdm-dim2/dim2_hal.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/staging/most/hdm-dim2/dim2_hal.c
> b/drivers/staging/most/hdm-dim2/dim2_hal.c
> > index 0b9816c..6824826 100644
> > --- a/drivers/staging/most/hdm-dim2/dim2_hal.c
> > +++ b/drivers/staging/most/hdm-dim2/dim2_hal.c
> > @@ -49,7 +49,7 @@
> > #define DBR_SIZE (16 * 1024) /* specified by IP */
> > #define DBR_BLOCK_SIZE (DBR_SIZE / 32 / DBR_MAP_SIZE)
> >
> > -#define ROUND_UP_TO(x, d) (((x) + (d) - 1) / (d) * (d))
> > +#define ROUND_UP_TO(x, d) (DIV_ROUND_UP(x, (d)) * (d))
> >
> > /*
> --------------------------------------------------------------------------
> */
> > /* generic helper functions and macros */
> > @@ -117,7 +117,7 @@ static int alloc_dbr(u16 size)
> > return DBR_SIZE; /* out of memory */
> >
> > for (i = 0; i < DBR_MAP_SIZE; i++) {
> > - u32 const blocks = (size + DBR_BLOCK_SIZE -
> 1) / DBR_BLOCK_SIZE;
> > + u32 const blocks = DIV_ROUND_UP(size,
> DBR_BLOCK_SIZE);
> > u32 mask = ~((~(u32)0) << blocks);
> >
> > do {
> > @@ -137,7 +137,7 @@ static int alloc_dbr(u16 size)
> > static void free_dbr(int offs, int size)
> > {
> > int block_idx = offs / DBR_BLOCK_SIZE;
> > - u32 const blocks = (size + DBR_BLOCK_SIZE - 1) /
> DBR_BLOCK_SIZE;
> > + u32 const blocks = DIV_ROUND_UP(size,
> DBR_BLOCK_SIZE);
> > u32 mask = ~((~(u32)0) << blocks);
> >
> > mask <<= block_idx % 32;
> > --
> > 2.7.4
> >
> > --
> > You received this message because you are subscribed to the
> Google Groups "outreachy-kernel" group.
> > To unsubscribe from this group and stop receiving emails from
> it, send an email to outreachy-kern...@googlegroups.com.
> > To post to this group, send email to
> outreach...@googlegroups.com.
> > To view this discussion on the web visithttps://groups.google.com/d/msgid/outreachy-kernel/20170221185615.GA25627%4
> 0singhal-Inspiron-5558.
> > For more options, visit https://groups.google.com/d/optout.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to outreachy-kernel+unsubscribe@googlegroups.com.
> To post to this group, send email to outreachy-kernel@googlegroups.com.
> To view this discussion on the web visithttps://groups.google.com/d/msgid/outreachy-kernel/e9a638db-16fe-4e85-a132-
> c45c39307df1%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-22 7:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-21 18:56 [PATCH 2/7] staging: most: Using macro DIV_ROUND_UP simran singhal
2017-02-21 19:58 ` [Outreachy kernel] " Julia Lawall
[not found] ` <e9a638db-16fe-4e85-a132-c45c39307df1@googlegroups.com>
2017-02-22 7:23 ` Julia Lawall
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).