[PATCH 1/1] commands/ubi.c: Add support for VID header offset in ubiattach

Sascha Hauer s.hauer at pengutronix.de
Mon Feb 11 04:19:05 EST 2013


Hi Xavier,

On Fri, Feb 08, 2013 at 03:01:53PM -0500, Xavier Douville wrote:
> Hi
> 
> On my board I needed to pass a custom VID header offset to ubiattach.
> This patch adds the required option to the barebox command.

I don't know exactly, but I suspect something is wrong on your board
then. Normally the VID header offset should be detected correctly
automatically. Does the kernel also need a special VID header offset?
Have you flashed an UBI image or did you generate the UBI on the target
directly?

> 
> I also fixed a bug in the error handling of the return value of
> ubi_attach_mtd_dev().
> This function doesn't always return 0 on success, it returns the UBI number.
> So without this patch, an error message is printed when attaching
> many UBI devices.
> 
> thanks for your work
> 
> Xavier Douville
> 
> 
>  commands/ubi.c |   25 +++++++++++++++++--------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/commands/ubi.c b/commands/ubi.c
> index 1653eaa..a10ea1c 100644
> --- a/commands/ubi.c
> +++ b/commands/ubi.c
> @@ -60,9 +60,14 @@ static int do_ubiattach(int argc, char *argv[])
>  {
>      struct mtd_info_user user;
>      int fd, ret;
> +    int vid_hdr_offset = 0;
> 
> -    if (argc != 2)
> -        return COMMAND_ERROR_USAGE;
> +    if (argc != 2) {
> +        if (argc == 3)
> +            vid_hdr_offset = simple_strtol(argv[2], NULL, 0);
> +        else
> +            return COMMAND_ERROR_USAGE;
> +    }

Please use getopt() for additional arguments.

> 
>      fd = open(argv[1], O_RDWR);
>      if (fd < 0) {
> @@ -71,19 +76,23 @@ static int do_ubiattach(int argc, char *argv[])
>      }
> 
>      ret = ioctl(fd, MEMGETINFO, &user);
> -    if (!ret)
> -        ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO, 0);
> +    if (!ret) {
> +        ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO,
> vid_hdr_offset);

You mailer wraps lines. I won't be able to apply this patch.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list