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

Andreas Bießmann
2012-10-31T09:42:57Z

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