aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm/horizon.c
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2008-09-22 22:22:58 -0400
committerDavid S. Miller <davem@davemloft.net>2008-09-22 22:22:58 -0400
commit6a19309db0a02d821494f4df754046c85a230627 (patch)
tree03936c1806097bb4e0aafc9956e866727f713ea9 /drivers/atm/horizon.c
parentca330c5a913a9b1690c709f4cfcd6be0c8696b14 (diff)
drivers/atm: Use DIV_ROUND_UP
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. In the case of the file drivers/atm/eni.c, I am a little bit suspicious of the -1 at the end of the affected expression. Please check that that is what is wanted. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @haskernel@ @@ #include <linux/kernel.h> @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm/horizon.c')
-rw-r--r--drivers/atm/horizon.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c
index c0ac728dc564..615412364e99 100644
--- a/drivers/atm/horizon.c
+++ b/drivers/atm/horizon.c
@@ -635,7 +635,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
635 // take care of rounding 635 // take care of rounding
636 switch (r) { 636 switch (r) {
637 case round_down: 637 case round_down:
638 pre = (br+(c<<div)-1)/(c<<div); 638 pre = DIV_ROUND_UP(br, c<<div);
639 // but p must be non-zero 639 // but p must be non-zero
640 if (!pre) 640 if (!pre)
641 pre = 1; 641 pre = 1;
@@ -668,7 +668,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
668 // take care of rounding 668 // take care of rounding
669 switch (r) { 669 switch (r) {
670 case round_down: 670 case round_down:
671 pre = (br+(c<<div)-1)/(c<<div); 671 pre = DIV_ROUND_UP(br, c<<div);
672 break; 672 break;
673 case round_nearest: 673 case round_nearest:
674 pre = (br+(c<<div)/2)/(c<<div); 674 pre = (br+(c<<div)/2)/(c<<div);
@@ -698,7 +698,7 @@ got_it:
698 if (bits) 698 if (bits)
699 *bits = (div<<CLOCK_SELECT_SHIFT) | (pre-1); 699 *bits = (div<<CLOCK_SELECT_SHIFT) | (pre-1);
700 if (actual) { 700 if (actual) {
701 *actual = (br + (pre<<div) - 1) / (pre<<div); 701 *actual = DIV_ROUND_UP(br, pre<<div);
702 PRINTD (DBG_QOS, "actual rate: %u", *actual); 702 PRINTD (DBG_QOS, "actual rate: %u", *actual);
703 } 703 }
704 return 0; 704 return 0;
@@ -1967,7 +1967,7 @@ static int __devinit hrz_init (hrz_dev * dev) {
1967 // Set the max AAL5 cell count to be just enough to contain the 1967 // Set the max AAL5 cell count to be just enough to contain the
1968 // largest AAL5 frame that the user wants to receive 1968 // largest AAL5 frame that the user wants to receive
1969 wr_regw (dev, MAX_AAL5_CELL_COUNT_OFF, 1969 wr_regw (dev, MAX_AAL5_CELL_COUNT_OFF,
1970 (max_rx_size + ATM_AAL5_TRAILER + ATM_CELL_PAYLOAD - 1) / ATM_CELL_PAYLOAD); 1970 DIV_ROUND_UP(max_rx_size + ATM_AAL5_TRAILER, ATM_CELL_PAYLOAD));
1971 1971
1972 // Enable receive 1972 // Enable receive
1973 wr_regw (dev, RX_CONFIG_OFF, rd_regw (dev, RX_CONFIG_OFF) | RX_ENABLE); 1973 wr_regw (dev, RX_CONFIG_OFF, rd_regw (dev, RX_CONFIG_OFF) | RX_ENABLE);