[U-Boot] [PATCH v4 08/24] spi: exynos_spi: Use BIT macro

Jagan Teki jteki at openedev.com
Sat Oct 24 05:26:52 CEST 2015


On 23 October 2015 at 02:54, Tom Rini <trini at konsulko.com> wrote:
> On Fri, Oct 23, 2015 at 02:20:08AM +0530, Jagan Teki wrote:
>
>> Replace numerical bit shift with BIT macro in exynos_spi
>>
>> :%s/(1 << nr)/BIT(nr)/g
>> where nr = 0, 1, 2 .... 31
>>
>> Cc: Simon Glass <sjg at chromium.org>
>> Signed-off-by: Jagan Teki <jteki at openedev.com>
>> ---
>>  drivers/spi/exynos_spi.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/spi/exynos_spi.c b/drivers/spi/exynos_spi.c
>> index 44948c3..ea3c51d 100644
>> --- a/drivers/spi/exynos_spi.c
>> +++ b/drivers/spi/exynos_spi.c
>> @@ -86,7 +86,7 @@ static void spi_request_bytes(struct exynos_spi *regs, int count, int step)
>>               writel(0, &regs->swap_cfg);
>>       }
>>
>> -     assert(count && count < (1 << 16));
>> +     assert(count && count < BIT(16));
>>       setbits_le32(&regs->ch_cfg, SPI_CH_RST);
>>       clrbits_le32(&regs->ch_cfg, SPI_CH_RST);
>>
>> @@ -345,7 +345,7 @@ static int exynos_spi_xfer(struct udevice *dev, unsigned int bitlen,
>>        */
>>       bytelen = bitlen / 8;
>>       for (upto = 0; !ret && upto < bytelen; upto += todo) {
>> -             todo = min(bytelen - upto, (1 << 16) - 4);
>> +             todo = min(bytelen - upto, BIT(16) - 4);
>>               ret = spi_rx_tx(priv, todo, &din, &dout, flags);
>>               if (ret)
>>                       break;
>
> These look like (1 << 16) is a size, not a bit.  Can you read the
> functions in context and confirm that it really is bit 16 here, rather
> than 4KiB (0x10000) ?

Ignoring this change this seems to be 65535 exynos SPI transfer limit,
not a bit.

-- 
Jagan | openedev


More information about the U-Boot mailing list