* [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
[parent not found: <e9a638db-16fe-4e85-a132-c45c39307df1@googlegroups.com>]
* 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).