mtd: rawnand: ingenic: Make use of ecc-engine property
authorPaul Cercueil <paul@crapouillou.net>
Tue, 19 Mar 2019 14:53:59 +0000 (15:53 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 8 Apr 2019 08:21:04 +0000 (10:21 +0200)
Use the 'ecc-engine' standard property instead of the custom
'ingenic,bch-controller' custom property, which is now deprecated.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/raw/ingenic/ingenic_ecc.c

index 2aa71595a9e8bf80ac9d2cdebcc1d91f55f5a1f4..13cc7630a3d83cd3630030aa7b83d0558e8bc19d 100644 (file)
@@ -83,9 +83,9 @@ static struct ingenic_ecc *ingenic_ecc_get(struct device_node *np)
 
 /**
  * of_ingenic_ecc_get() - get the ECC controller from a DT node
- * @of_node: the node that contains a bch-controller property.
+ * @of_node: the node that contains an ecc-engine property.
  *
- * Get the bch-controller property from the given device tree
+ * Get the ecc-engine property from the given device tree
  * node and pass it to ingenic_ecc_get to do the work.
  *
  * Return: a pointer to ingenic_ecc, errors are encoded into the pointer.
@@ -96,7 +96,14 @@ struct ingenic_ecc *of_ingenic_ecc_get(struct device_node *of_node)
        struct ingenic_ecc *ecc = NULL;
        struct device_node *np;
 
-       np = of_parse_phandle(of_node, "ingenic,bch-controller", 0);
+       np = of_parse_phandle(of_node, "ecc-engine", 0);
+
+       /*
+        * If the ecc-engine property is not found, check for the deprecated
+        * ingenic,bch-controller property
+        */
+       if (!np)
+               np = of_parse_phandle(of_node, "ingenic,bch-controller", 0);
 
        if (np) {
                ecc = ingenic_ecc_get(np);