All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben.dooks@codethink.co.uk>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: linux-kernel@lists.codethink.co.uk, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] zImage: atags_to_fdt: fix __be32 and __be64 types
Date: Thu, 10 Oct 2019 09:06:08 +0100	[thread overview]
Message-ID: <eb1b4255-3225-1cff-d572-8b45558ac23a@codethink.co.uk> (raw)
In-Reply-To: <20191009162417.GG25745@shell.armlinux.org.uk>

On 09/10/2019 17:24, Russell King - ARM Linux admin wrote:
> On Wed, Oct 09, 2019 at 05:01:53PM +0100, Ben Dooks wrote:
>> Change types of some the uint32_t to __be32 or __be64 to
>> avoid the following sparse warnings:
>>
>> arch/arm/boot/compressed/atags_to_fdt.c:66:29: warning: cast to restricted __be32
>> arch/arm/boot/compressed/atags_to_fdt.c:66:29: warning: cast to restricted __be32
>> arch/arm/boot/compressed/atags_to_fdt.c:66:29: warning: cast to restricted __be32
>> arch/arm/boot/compressed/atags_to_fdt.c:66:29: warning: cast to restricted __be32
>> arch/arm/boot/compressed/atags_to_fdt.c:66:29: warning: cast to restricted __be32
>> arch/arm/boot/compressed/atags_to_fdt.c:66:29: warning: cast to restricted __be32
>> arch/arm/boot/compressed/atags_to_fdt.c:182:60: warning: incorrect type in assignment (different base types)
>> arch/arm/boot/compressed/atags_to_fdt.c:182:60:    expected unsigned long long [usertype]
>> arch/arm/boot/compressed/atags_to_fdt.c:182:60:    got restricted __be64 [usertype]
>> arch/arm/boot/compressed/atags_to_fdt.c:184:60: warning: incorrect type in assignment (different base types)
>> arch/arm/boot/compressed/atags_to_fdt.c:184:60:    expected unsigned long long [usertype]
>> arch/arm/boot/compressed/atags_to_fdt.c:184:60:    got restricted __be64 [usertype]
>> arch/arm/boot/compressed/atags_to_fdt.c:187:62: warning: incorrect type in assignment (different base types)
>> arch/arm/boot/compressed/atags_to_fdt.c:187:62:    expected unsigned int
>> arch/arm/boot/compressed/atags_to_fdt.c:187:62:    got restricted __be32 [usertype]
>> arch/arm/boot/compressed/atags_to_fdt.c:189:62: warning: incorrect type in assignment (different base types)
>> arch/arm/boot/compressed/atags_to_fdt.c:189:62:    expected unsigned int
>> arch/arm/boot/compressed/atags_to_fdt.c:189:62:    got restricted __be32 [usertype]
>>
>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>> ---
>> Cc: Russell King <linux@armlinux.org.uk>
>> Cc: linux-arm-kernel@lists.infradead.org
>> ---
>>   arch/arm/boot/compressed/atags_to_fdt.c | 12 ++++++------
>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/boot/compressed/atags_to_fdt.c b/arch/arm/boot/compressed/atags_to_fdt.c
>> index 330cd3c2eae5..13407d0243b9 100644
>> --- a/arch/arm/boot/compressed/atags_to_fdt.c
>> +++ b/arch/arm/boot/compressed/atags_to_fdt.c
>> @@ -60,7 +60,7 @@ static uint32_t get_cell_size(const void *fdt)
>>   {
>>   	int len;
>>   	uint32_t cell_size = 1;
>> -	const uint32_t *size_len =  getprop(fdt, "/", "#size-cells", &len);
>> +	const __be32 *size_len =  getprop(fdt, "/", "#size-cells", &len);
>>   
>>   	if (size_len)
>>   		cell_size = fdt32_to_cpu(*size_len);
>> @@ -129,7 +129,7 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
>>   	struct tag *atag = atag_list;
>>   	/* In the case of 64 bits memory size, need to reserve 2 cells for
>>   	 * address and size for each bank */
>> -	uint32_t mem_reg_property[2 * 2 * NR_BANKS];
>> +	__be32 mem_reg_property[2 * 2 * NR_BANKS];
>>   	int memcount = 0;
>>   	int ret, memsize;
>>   
>> @@ -138,7 +138,7 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
>>   		return 1;
>>   
>>   	/* if we get a DTB here we're done already */
>> -	if (*(u32 *)atag_list == fdt32_to_cpu(FDT_MAGIC))
>> +	if (*(u32 *)atag_list == fdt32_to_cpu((fdt32_t)FDT_MAGIC))
>>   	       return 0;
>>   
>>   	/* validate the ATAG */
>> @@ -177,8 +177,8 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
>>   				/* if memsize is 2, that means that
>>   				 * each data needs 2 cells of 32 bits,
>>   				 * so the data are 64 bits */
>> -				uint64_t *mem_reg_prop64 =
>> -					(uint64_t *)mem_reg_property;
>> +				__be64 *mem_reg_prop64 =
>> +					(__be64 *)mem_reg_property;
>>   				mem_reg_prop64[memcount++] =
>>   					cpu_to_fdt64(atag->u.mem.start);
>>   				mem_reg_prop64[memcount++] =
>> @@ -207,7 +207,7 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
>>   	}
>>   
>>   	if (memcount) {
>> -		setprop(fdt, "/memory", "reg", mem_reg_property,
>> +		setprop(fdt, "/memory", "reg", (uint32_t *)mem_reg_property,
> 
> I'm not sure this is an improvement.
> 
> fdt_setprop() takes a const void pointer as its 4th argument:
> 
> int fdt_setprop(void *fdt, int nodeoffset, const char *name,
>                  const void *val, int len)
> 		
> setprop() could also do the same, since setprop() is just as flexible
> as fdt_setprop() itself.  Then you don't need this cast.

ok, thank you for pointing this out, I will go and sort this out.

>>   			4 * memcount * memsize);
>>   	}
>>   
>> -- 
>> 2.23.0
>>
>>
> 


-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-10-10  8:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-09 16:01 [PATCH] zImage: atags_to_fdt: fix __be32 and __be64 types Ben Dooks
2019-10-09 16:24 ` Russell King - ARM Linux admin
2019-10-10  8:06   ` Ben Dooks [this message]
2019-10-10 10:53 Ben Dooks
2019-10-10 10:56 ` Ben Dooks
2019-10-10 16:21 ` Russell King - ARM Linux admin
2019-10-11 10:21   ` Ben Dooks

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eb1b4255-3225-1cff-d572-8b45558ac23a@codethink.co.uk \
    --to=ben.dooks@codethink.co.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@lists.codethink.co.uk \
    --cc=linux@armlinux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.