[U-Boot] [PATCH] fs/fs.c: fix fs_set_blk_dev() for manual relocation

Andreas Bießmann andreas.devel at googlemail.com
Wed Oct 31 10:42:57 CET 2012


Dear Stephen Warren,

On 30.10.2012 19:41, Stephen Warren wrote:
> On 10/30/2012 12:29 PM, Andreas Bießmann wrote:
>> Commit 045fa1e1142552799ad3203e9e0bc22a11e866ea introduce an array with
>> filesystem accessors. On arches which need manual reloc this is broken cause the
>> function pointers still pointing to the privious location, fix it.
> 
> We found the same code to copy:-)

we did ;)

>> diff --git a/fs/fs.c b/fs/fs.c
> 
>>  int fs_set_blk_dev(const char *ifname, const char *dev_part_str, int fstype)
> 
>> +#ifdef CONFIG_NEEDS_MANUAL_RELOC
>> +	static int relocated = 0;
> 
> checkpatch bitches about the "= 0" there. I assume BSS initialization
> isn't also broken when CONFIG_NEEDS_MANUAL_RELOC is enabled?

For AVR32 BSS initialization is working correctly, I do not know how the
other arches behave, but I think it is Ok to remove the '0' here.
Also the check for fstypes[i].probe != NULL in my patch seems to be not
necessary. So I would favor using your patch then.

Best regards

Andreas Bießmann



More information about the U-Boot mailing list