MIPS: Fix build error if __xchg() is not getting inlined.
[safe/jmp/linux-2.6] / drivers / atm / horizon.c
index 6b969f8..4e49021 100644 (file)
@@ -641,7 +641,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
                                        pre = 1;
                                break;
                        case round_nearest:
-                               pre = (br+(c<<div)/2)/(c<<div);
+                               pre = DIV_ROUND_CLOSEST(br, c<<div);
                                // but p must be non-zero
                                if (!pre)
                                        pre = 1;
@@ -671,7 +671,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
                                        pre = DIV_ROUND_UP(br, c<<div);
                                        break;
                                case round_nearest:
-                                       pre = (br+(c<<div)/2)/(c<<div);
+                                       pre = DIV_ROUND_CLOSEST(br, c<<div);
                                        break;
                                default: /* round_up */
                                        pre = br/(c<<div);
@@ -2590,7 +2590,7 @@ static int hrz_getsockopt (struct atm_vcc * atm_vcc, int level, int optname,
 }
 
 static int hrz_setsockopt (struct atm_vcc * atm_vcc, int level, int optname,
-                          void *optval, int optlen) {
+                          void *optval, unsigned int optlen) {
   hrz_dev * dev = HRZ_DEV(atm_vcc->dev);
   PRINTD (DBG_FLOW|DBG_VCC, "hrz_setsockopt");
   switch (level) {