[PATCH] mtd: nand: Do not automatically set SUBPAGE_READ flag
Hattink, Tjalling [FINT]
T.Hattink at fugro.nl
Mon Feb 24 04:20:05 EST 2014
> > The default nand_read_subpage implementation returns -ENOSUPP, so if
> > you use a large nand chip without a specific read_subpage
> > implementation the read operations will always fail.
> >
> > This functionaliy can be restored when a proper nand_read_subpage is
> > implemented for the default driver.
> >
> > Signed-off-by: Tjalling Hattink <t.hattink at fugro.nl>
> > ---
> > drivers/mtd/nand/nand_base.c | 4 ----
> > 1 file changed, 4 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/nand_base.c
> > b/drivers/mtd/nand/nand_base.c index 54d8ba3..bfd695b 100644
> > --- a/drivers/mtd/nand/nand_base.c
> > +++ b/drivers/mtd/nand/nand_base.c
> > @@ -3562,10 +3562,6 @@ int nand_scan_tail(struct mtd_info *mtd)
> > /* Invalidate the pagebuffer reference */
> > chip->pagebuf = -1;
> >
> > - /* Large page NAND with SOFT_ECC should support subpage
reads
> */
> > - if ((chip->ecc.mode == NAND_ECC_SOFT) && (chip->page_shift >
> 9))
> > - chip->options |= NAND_SUBPAGE_READ;
> > -
>
> Only barebox nand_read_subpage returns -ENOSUPP. The kernel has a
> default implementation. Wouldn't it be possible (and better) to just
> remove the return -ENOSUPP from nand_read_subpage and use the code
> which we already have?
>
> Sascha
>
Hi Sascha,
I will remove the ENOSUPP return code and compare the code with the
kernel and test it. I'll publish a new patch if I have results (which is
probably upcoming Friday).
I still wonder though why this -ENOSUPP return is added in the first
place. The motivation written above it is somewhat unclear to me:
"Currently we have no users in barebox, so disable this for now"
Kind regards,
Tjalling Hattink
More information about the barebox
mailing list