Re: [Outreachy kernel] [PATCH v3 4/6] staging: fbtft: Fix sparse warnings of incorrect type in assignment

From: Alison Schofield
Date: Sun Mar 05 2017 - 00:36:51 EST


On Sun, Mar 05, 2017 at 10:35:33AM +0530, simran singhal wrote:
> This patch fixes the following sparse warnings:
>
> 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@xxxxxxxxx>
> ---
>
> v3:
> -Change commit message
> -Drop the changes did in fbtft-bus.c

Hi Simran,

Sorry, I didn't mean to drop the broken part of fbtft, but rather to fix it.

Let's tidy up a few things:
- we can't send out one patch labelled as part of a patchset without
resending the entire set. That's why I was suggesting just abandoning
the patchset, and beginning to rework this anew with only the fbtft
driver in a single patch.
- I suggest keeping the -bus and -io file changes together.
- Look to correct what is wrong with fbtft-bus.c before sending a new
patch.
- Patch Subject would be something like: use __be64 types for endian
correctness (if this is what you end up doing - hint)

So, next step,
1) read up on endianess and propose how to change -bus.c.
OK to check that idea/code snippet here without re-rolling the patch.

https://kernelnewbies.org/EndianIssues
and Vaishali also gave a good link to lwn.net article
and to see some example fixes (in iio subsystem) do this:
git log --pretty=oneline --abbrev-commit | grep iio | grep endian


2) build the patch. At this point I say make it a first version and
start totally fresh. However, below the line --- where you usually
put the version comments, you can add a comment stating that this
was previously part of a patchset, but is now a single patch.

alisons


>
> drivers/staging/fbtft/fbtft-io.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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++;
> --
> 2.7.4
>
> --
> 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@xxxxxxxxxxxxxxxxx
> To post to this group, send email to outreachy-kernel@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20170305050533.GA10169%40singhal-Inspiron-5558.
> For more options, visit https://groups.google.com/d/optout.