
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:
- 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@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