[U-Boot] [PATCH] env_fat: use get_device_and_partition() during env save and load

Josh Wu josh.wu at atmel.com
Thu Jun 19 04:35:12 CEST 2014


Hi, Stephen

On 6/17/2014 3:51 AM, Stephen Warren wrote:
> On 06/16/2014 02:14 AM, Josh Wu wrote:
>> Use get_device_and_partition() is better since:
>> 1. It will call the device initialize function internally. So we can
>> remove the mmc intialization code to save many lines.
>> 2. It is used by fatls/fatload/fatwrite. So saveenv & load env should
>> use it too.
>> 3. It can parse the "D:P", "D", "D:", "D:auto" string to get correct
>> device and partition information by run-time.
>>
>> Also we remove the FAT_ENV_DEVICE and FAT_ENV_PART. We use a string:
>> FAT_ENV_DEVICE_AND_PART.
>> For at91sam9m10g45ek, it is "0". That means use device 0 and if:
>> a)device 0 has no partition table, use the whole device as a FAT file
>> system.
>> b)device 0 has partittion table, use the partition #1.
>>
>> Refer to the commit: 10a37fd7a4 for details of device & partition string.
> (briefly)
> Reviewed-by: Stephen Warren <swarren at nvidia.com>
>
> Questions though:
>
> * Can we delete the implementation of fat_register_device() now it's not
> used? If it is used, shouldn't the other uses be converted in a similar
> fashion?
currently It still be used by SPL (common/spl/spl_fat.c) and three 
board's firmware auto_update.

For SPL, I think they need use simpler fat functions. My first thought 
is: to split the get_device_and_partition()
into smaller parts(dev:part string parser, get_device, and register 
partition ). Then the SPL can use the the register partition code.

For board's auto_update case, I think it is same as above.

But above two changes (not do yet) will not included in this patch series.
>
> * Should the new config variable FAT_ENV_DEVICE_AND_PART be documented
> in README?
>
It seems all CONFIG_ENV_IS_IN_FAT related variables are not documented. 
I will send a v2 version of this patch and add this.
The CONFIG_ENV_IS_IN_FAT will be put below of CONFIG_ENV_IS_IN_UBI in 
README file.

Best Regards,
Josh Wu



More information about the U-Boot mailing list