Applied, thanks!

On Sat, Dec 19, 2015 at 9:34 PM, Aaro Koskinen <[email protected]> wrote:
> Implement -n (read/write without ecc).
>
> Signed-off-by: Aaro Koskinen <[email protected]>
> ---
>
>         v3: Use xioctl() instead of open coding it.
>
>         v2: http://marc.info/?t=144763280800001&r=1&w=2
>
>             The first version was bogus, opt bits were messed up.
>
>         v1: http://marc.info/?l=busybox&m=144763034328791&w=2
>
>  miscutils/nandwrite.c | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/miscutils/nandwrite.c b/miscutils/nandwrite.c
> index 247fc72..c95cbb2 100644
> --- a/miscutils/nandwrite.c
> +++ b/miscutils/nandwrite.c
> @@ -29,16 +29,18 @@
>  //kbuild:lib-$(CONFIG_NANDDUMP) += nandwrite.o
>
>  //usage:#define nandwrite_trivial_usage
> -//usage:       "[-p] [-s ADDR] MTD_DEVICE [FILE]"
> +//usage:       "[-np] [-s ADDR] MTD_DEVICE [FILE]"
>  //usage:#define nandwrite_full_usage "\n\n"
>  //usage:       "Write to MTD_DEVICE\n"
> +//usage:     "\n       -n      Write without ecc"
>  //usage:     "\n       -p      Pad to page size"
>  //usage:     "\n       -s ADDR Start address"
>
>  //usage:#define nanddump_trivial_usage
> -//usage:       "[-o]" IF_LONG_OPTS(" [--bb=padbad|skipbad]") " [-s ADDR] [-l 
> LEN] [-f FILE] MTD_DEVICE"
> +//usage:       "[-no]" IF_LONG_OPTS(" [--bb=padbad|skipbad]") " [-s ADDR] 
> [-l LEN] [-f FILE] MTD_DEVICE"
>  //usage:#define nanddump_full_usage "\n\n"
>  //usage:       "Dump MTD_DEVICE\n"
> +//usage:     "\n       -n      Read without ecc"
>  //usage:     "\n       -o      Dump oob data"
>  //usage:     "\n       -s ADDR Start address"
>  //usage:     "\n       -l LEN  Length"
> @@ -57,10 +59,11 @@
>
>  #define OPT_p  (1 << 0) /* nandwrite only */
>  #define OPT_o  (1 << 0) /* nanddump only */
> -#define OPT_s  (1 << 1)
> -#define OPT_f  (1 << 2)
> -#define OPT_l  (1 << 3)
> -#define OPT_bb (1 << 4) /* must be the last one in the list */
> +#define OPT_n  (1 << 1)
> +#define OPT_s  (1 << 2)
> +#define OPT_f  (1 << 3)
> +#define OPT_l  (1 << 4)
> +#define OPT_bb (1 << 5) /* must be the last one in the list */
>
>  #define BB_PADBAD (1 << 0)
>  #define BB_SKIPBAD (1 << 1)
> @@ -125,10 +128,10 @@ int nandwrite_main(int argc UNUSED_PARAM, char **argv)
>                 applet_long_options =
>                         "bb\0" Required_argument "\xff"; /* no short 
> equivalent */
>  #endif
> -               opts = getopt32(argv, "os:f:l:", &opt_s, &opt_f, &opt_l, 
> &opt_bb);
> +               opts = getopt32(argv, "ons:f:l:", &opt_s, &opt_f, &opt_l, 
> &opt_bb);
>         } else { /* nandwrite */
>                 opt_complementary = "-1:?2";
> -               opts = getopt32(argv, "ps:", &opt_s);
> +               opts = getopt32(argv, "pns:", &opt_s);
>         }
>         argv += optind;
>
> @@ -144,6 +147,9 @@ int nandwrite_main(int argc UNUSED_PARAM, char **argv)
>         fd = xopen(argv[0], IS_NANDWRITE ? O_RDWR : O_RDONLY);
>         xioctl(fd, MEMGETINFO, &meminfo);
>
> +       if (opts & OPT_n)
> +               xioctl(fd, MTDFILEMODE, (void *)MTD_FILE_MODE_RAW);
> +
>         mtdoffset = xstrtou(opt_s, 0);
>         if (IS_NANDDUMP && (opts & OPT_l)) {
>                 unsigned length = xstrtou(opt_l, 0);
> --
> 2.4.0
>
> _______________________________________________
> busybox mailing list
> [email protected]
> http://lists.busybox.net/mailman/listinfo/busybox
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to