On Thu, 2018-07-26 at 11:46 +0300, Andy Shevchenko wrote: > > + > > + /* > > + * the supported rates are even numbers from 4 to 254. (4,6,8...254) > > + * round up as we look for equal or less speed > > + */ > > + ckrat = DIV_ROUND_UP(clk_get_rate(priv->clk), speed); > > + ckrat = roundup(ckrat, 2); > > ckrat += ckrat & 1; Either way, the compiler produces the same code: add r0, r0, #1 bic r0, r0, #1 I.e., ckrat = (ckrat + 1) & ~1, one "add" and one "and". Might as well use the macro so it's clear. There is also round_up(x,y), which I believe is intended to be used only with power of 2 values of y. ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f