[U-Boot] [Patch v1 1/1] jffs2: change U_BOOT_CMD ls to fsls
Suriyan Ramasami
suriyan.r at gmail.com
Sun Oct 13 23:03:45 CEST 2013
Hello Wolfgang Denk,
On Sat, Oct 12, 2013 at 11:38 AM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Suriyan Ramasami,
>
> In message <1381366918-17590-1-git-send-email-suriyan.r at gmail.com> you wrote:
>> multiple definitions of `_u_boot_list_2_cmd_2_ls' if CONFIG_CMD_JFFS2
>> and CONFIG_CMD_FS_GENERIC are defined.
>>
>> Signed-off-by: Suriyan Ramasami <suriyan.r at gmail.com>
>> ---
>> common/cmd_jffs2.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/common/cmd_jffs2.c b/common/cmd_jffs2.c
>> index bce0983..f38455f 100644
>> --- a/common/cmd_jffs2.c
>> +++ b/common/cmd_jffs2.c
>> @@ -606,7 +606,7 @@ U_BOOT_CMD(
>> " with offset 'off'"
>> );
>> U_BOOT_CMD(
>> - ls, 2, 1, do_jffs2_ls,
>> + fsls, 2, 1, do_jffs2_ls,
>
> This makes no sense to me. Either we mimick Unix style, then the
> command name shouldbe "ls' (where else but in a file system could you
> LiSt files?); or we implement file system specific commands, than the
> name of the file system should be recognizable.
>
> I think your problem should be fixed differently (such that "ls" also
> works with JFFS2).
>
I think I haven't defined the problem properly. I am sure you know
about the below, but am just reemphasizing so we could discuss the
issue.
The macro U_BOOT_CMD maps the user invocable commands at the u-boot
prompt to actual function calls. For example, looking at
common/cmd_ext4.c It defines the below:
ext4ls maps to do_ext4_ls()
ext4load maps to do_ext4_load()
etc.
Looking at the CMD_SYS_FS_GENERIC (common/cmd_fs.c) implementation
which works with the u-boot commands ls and load as follows:
ls maps to do_ls_wrapper()
load maps to do_load_wrapper()
Looking at CONFIG_CMD_JFFS2 with comman/cmd_jffs2.c, we see that it
defines the u-boot commands ls, fsinfo and fsload as follows:
ls maps to do_jffs_fsload()
fsload maps to do_jffs_fsload()
fsinfo maps to do_jffs2_fsinfo()
Firstly, this is a little inconsistent in the u-boot command name,
namely, ls is for ls of jffs fs, but the load and info commands have
an fs prefix - fsload, fsinfo.
Hence, we are left with two u-boot commands with the same name - ls,
one for jffs2 and the other for fs.c leading to the linking issue.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> backups: always in season, never out of style.
More information about the U-Boot
mailing list