[PATCH] mtd: rawnand: mxc: Move the ECC engine initialization to the right place

Miquel Raynal miquel.raynal at bootlin.com
Fri Oct 16 17:05:56 EDT 2020


Hi Fabio,

Fabio Estevam <festevam at gmail.com> wrote on Fri, 16 Oct 2020 16:18:15
-0300:

> Hi Miquel,
> 
> On Fri, Oct 16, 2020 at 2:01 PM Miquel Raynal <miquel.raynal at bootlin.com> wrote:
> 
> > Software ECC is used, is it expected?  
> 
> I noticed the issue with your patch: host->pdata.hw_ecc cannot be
> called within attach() because pdata is not initialized at this point.t->

Nice catch! But I don't get why host->pdata.hw_ecc would not be
accessible from the attach hook. host->pdata is populated in the probe
function, way before nand_scan(), where ->attach() is called. So for me
host->pdata.hw_ecc should be accessible from ->attach().

> Instead of using pdata, we can retrieve the "nand-ecc-mode" string
> from the device tree.

Please don't do that! The DT parsing should be centralized in the core.

However, if you don't need this pdata entry you can get rid of it
entirely. In theory, if the user set the nand-ecc-mode property, then
chip->ecc.engine_type should already be set to the appropriate value
when entering ->attach(). Can you please check its value? It should
have been updated by rawnand_dt_init().

Thanks,
Miquèl



More information about the linux-mtd mailing list