Messages in this thread | | | Subject | Re: [PATCH v2 4/6] staging: fbtft: Fix sparse warnings of incorrect type in assignment | From | Noralf Trønnes <> | Date | Thu, 2 Mar 2017 14:26:37 +0100 |
| |
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@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++;
| |