Re: [PATCH v2 1/2] spi: Add Renesas R-Car Gen3 RPC SPI controller driver

From: Geert Uytterhoeven
Date: Wed Dec 05 2018 - 04:11:50 EST


Hi Mason,

On Wed, Dec 5, 2018 at 8:44 AM <masonccyang@xxxxxxxxxxx> wrote:
> > "Marek Vasut" <marek.vasut@xxxxxxxxx>
> > 2018/12/05 äå 10:04
> > On 12/03/2018 10:18 AM, Mason Yang wrote:
> > > Add a driver for Renesas R-Car Gen3 RPC SPI controller.
> > >
> > > Signed-off-by: Mason Yang <masonccyang@xxxxxxxxxxx>

> > > +static u8 rpc_bits_xfer(u32 nbytes)
> > > +{
> > > + if (nbytes > 4)
> > > + nbytes = 4;
> >
> > Use clamp() ?
> >
>
> nbytes = clamp(nbytes, 1, 4);
>
> got many warnings, something like,
> ./include/linux/kernel.h:845:29: warning: comparison of distinct pointer types lacks a cast

You can either make the constants unsigned (1U and 4U), or
use clamp_t(u32, ...).

> > > + rpc->smenr |= RPC_SMENR_SPIDE(rpc_bits_xfer
> > > + (op->data.nbytes)) | RPC_SMENR_SPIDB
> > > + (fls(op->data.buswidth >> 1));
> >
> > Drop parenthesis around fls()
>
> ?
> no way.

Please split the line before RPC_SMENR_SPIDB, and join the next line
with the parameters, so it becomes obvious the parentheses are needed
because RPC_SMENR_SPIDB() is a macro taking parameters.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds