Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752561AbdCEEke (ORCPT ); Sat, 4 Mar 2017 23:40:34 -0500 Received: from mail-lf0-f65.google.com ([209.85.215.65]:35542 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751338AbdCEEkd (ORCPT ); Sat, 4 Mar 2017 23:40:33 -0500 MIME-Version: 1.0 In-Reply-To: <20170305000632.GA5628@d830.WORKGROUP> References: <20170302130459.GA31856@singhal-Inspiron-5558> <20170305000632.GA5628@d830.WORKGROUP> From: SIMRAN SINGHAL Date: Sun, 5 Mar 2017 10:10:30 +0530 Message-ID: Subject: Re: [Outreachy kernel] Re: [PATCH v2 4/6] staging: fbtft: Fix sparse warnings of incorrect type in assignment To: Alison Schofield Cc: =?UTF-8?Q?Noralf_Tr=C3=B8nnes?= , Greg KH , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, sergio.paracuellos@gmail.com, Juliana Rodrigues , thomas.petazzoni@free-electrons.com, outreachy-kernel@googlegroups.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v254ec8x027797 Content-Length: 4078 Lines: 102 On Sun, Mar 5, 2017 at 5:36 AM, Alison Schofield wrote: > On Thu, Mar 02, 2017 at 02:26:37PM +0100, Noralf Trønnes wrote: >> >> 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] >> >drivers/staging/fbtft/fbtft-bus.c:166:36: got restricted __be16 [usertype] >> > >> >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] >> >drivers/staging/fbtft/fbtft-io.c:74:29: got restricted __be64 [usertype] >> > >> >Signed-off-by: simran singhal >> >--- >> > 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. >> > > Hi Simran, > > It's probably good to get back to this one while we have Noralf's > attention. > > While the change above - in fbtft-bus.c is a problem, the change > below in fbtft-io.c looks ok. So, compare what you did. You can't > *not* do the endian conversion. > > This is a cleanup change, a cosmetic change. There is no underlying > bug, so you just need to get the typing correct w/out affecting > behavior. > anyway. > > BTW: I think it's OK to pull this one out and send a v3 of this alone. > That would mean abandoning the patchset and doing them one at a time. > They are all in different drivers Hi alison, Thanks for the explaination. I will drop the changes I did in fbtft-bus.c and send a v3 of this alone. Can you please suggest me any source through which I can understand the concept of endianess. As right know I didn't understand it, I just tried to fix the warnings which I got through sparse and as you can see most of the fixes are wrong. Thanks! Simran > alisons > > > >> > 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++; >> >> -- >> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group. >> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com. >> To post to this group, send email to outreachy-kernel@googlegroups.com. >> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/fe8d6a85-3d4e-8019-937b-22389b942da3%40tronnes.org. >> For more options, visit https://groups.google.com/d/optout.