[PATCH v2 4/6] staging: fbtft: Fix sparse warnings of incorrect type in assignment

Noralf Trønnes noralf at tronnes.org
Thu Mar 2 13:26:37 UTC 2017


Den 02.03.2017 14.04, skrev simran singhal:
> This patch fixes the following sparse warnings:
>
> drivers/staging/fbtft/fbtft-bus.c:166:36: warning: incorrect type in assignment (different base types)
> drivers/staging/fbtft/fbtft-bus.c:166:36:    expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/staging/fbtft/fbtft-bus.c:166:36:    got restricted __be16 [usertype] <noident>
>
> drivers/staging/fbtft/fbtft-io.c:74:29: warning: incorrect type in assignment (different base types)
> drivers/staging/fbtft/fbtft-io.c:74:29:    expected unsigned long long [unsigned] [long] [long long] [usertype] <noident>
> drivers/staging/fbtft/fbtft-io.c:74:29:    got restricted __be64 [usertype] <noident>
>
> Signed-off-by: simran singhal <singhalsimran0 at gmail.com>
> ---
>   
>   v2:
>     -changed commit message
>
>   drivers/staging/fbtft/fbtft-bus.c | 2 +-
>   drivers/staging/fbtft/fbtft-io.c  | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/fbtft/fbtft-bus.c b/drivers/staging/fbtft/fbtft-bus.c
> index ec45043..df2223e 100644
> --- a/drivers/staging/fbtft/fbtft-bus.c
> +++ b/drivers/staging/fbtft/fbtft-bus.c
> @@ -163,7 +163,7 @@ int fbtft_write_vmem16_bus8(struct fbtft_par *par, size_t offset, size_t len)
>   						to_copy, remain - to_copy);
>   
>   		for (i = 0; i < to_copy; i++)
> -			txbuf16[i] = cpu_to_be16(vmem16[i]);
> +			txbuf16[i] = vmem16[i];
>   

This change breaks functionality on little endian machines like
the Raspberry Pi.


Noralf.

>   		vmem16 = vmem16 + to_copy;
>   		ret = par->fbtftops.write(par, par->txbuf.buf,
> diff --git a/drivers/staging/fbtft/fbtft-io.c b/drivers/staging/fbtft/fbtft-io.c
> index d868405..ffb9a3b 100644
> --- a/drivers/staging/fbtft/fbtft-io.c
> +++ b/drivers/staging/fbtft/fbtft-io.c
> @@ -71,7 +71,7 @@ int fbtft_write_spi_emulate_9(struct fbtft_par *par, void *buf, size_t len)
>   			src++;
>   		}
>   		tmp |= ((*src & 0x0100) ? 1 : 0);
> -		*(u64 *)dst = cpu_to_be64(tmp);
> +		*(__be64 *)dst = cpu_to_be64(tmp);
>   		dst += 8;
>   		*dst++ = (u8)(*src++ & 0x00FF);
>   		added++;



More information about the devel mailing list