RE: [PATCH v2 2/2] spi: add SPI controller driver for UniPhier SoC

From: Keiji Hayashibara
Date: Mon Jul 30 2018 - 01:30:35 EST


Hello Trent and Andy,

> From: Trent Piepho [mailto:tpiepho@xxxxxxxxxx]
> Sent: Friday, July 27, 2018 2:02 AM
> To: andy.shevchenko@xxxxxxxxx; Hayashibara, Keiji/æå åä <hayashibara.keiji@xxxxxxxxxxxxx>
> Subject: Re: [PATCH v2 2/2] spi: add SPI controller driver for UniPhier SoC
>
> 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.

I confirmed round_up() macro.
This macro is optimized to power of 2 argument,
and it matches to this case and clear.

I will replace to round_up() macro.

Thank you.

-----------------
Best Regards,
Keiji Hayashibara