mtd: nand: raw: atmel: Remove redundant PMECC probe
authorAlexander Dahl <ada@thorsis.com>
Mon, 11 Mar 2024 15:23:06 +0000 (16:23 +0100)
committerEugen Hristev <eugen.hristev@linaro.org>
Fri, 29 Nov 2024 10:59:27 +0000 (12:59 +0200)
Always probing pmecc in the generic nand controller probe function and
bailing out if pmecc is missing, prevents the driver to be usable for
SoCs which do not have a pmecc hardware ecc engine like older sam9 SoCs,
for example at91sam9g20.  Tested on sam9x60 that the call, which the
comment was moved to, is sufficient to probe the pmecc.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
drivers/mtd/nand/raw/atmel/nand-controller.c
drivers/mtd/nand/raw/atmel/pmecc.c

index 817fab4..25f187a 100644 (file)
@@ -2205,7 +2205,6 @@ static const struct udevice_id atmel_nand_controller_of_ids[] = {
 static int atmel_nand_controller_probe(struct udevice *dev)
 {
        const struct atmel_nand_controller_caps *caps;
-       struct udevice *pmecc_dev;
 
        caps = (struct atmel_nand_controller_caps *)dev_get_driver_data(dev);
        if (!caps) {
@@ -2213,12 +2212,6 @@ static int atmel_nand_controller_probe(struct udevice *dev)
                return -EINVAL;
        }
 
-       /* Probe pmecc driver */
-       if (uclass_get_device(UCLASS_MTD, 1, &pmecc_dev)) {
-               printf("%s: get device fail\n", __func__);
-               return -EINVAL;
-       }
-
        return caps->ops->probe(dev, caps);
 }
 
index 51f6bd2..e500a0f 100644 (file)
@@ -913,6 +913,7 @@ struct atmel_pmecc *devm_atmel_pmecc_get(struct udevice *userdev)
        ret = ofnode_parse_phandle_with_args(userdev->node_,
                                             "ecc-engine",
                                             NULL, 0, 0, &args);
+       /* Probe pmecc driver */
        ret = uclass_get_device_by_ofnode(UCLASS_MTD, args.node, &pdev);
        if (ret)
                return NULL;