mtd: nand: raw: atmel: Remove redundant PMECC probe

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>
This commit is contained in:
Alexander Dahl
2024-03-11 16:23:06 +01:00
committed by Eugen Hristev
parent 94317f881b
commit bf424a110d
2 changed files with 1 additions and 7 deletions

View File

@@ -2205,7 +2205,6 @@ static const struct udevice_id atmel_nand_controller_of_ids[] = {
static int atmel_nand_controller_probe(struct udevice *dev) static int atmel_nand_controller_probe(struct udevice *dev)
{ {
const struct atmel_nand_controller_caps *caps; const struct atmel_nand_controller_caps *caps;
struct udevice *pmecc_dev;
caps = (struct atmel_nand_controller_caps *)dev_get_driver_data(dev); caps = (struct atmel_nand_controller_caps *)dev_get_driver_data(dev);
if (!caps) { if (!caps) {
@@ -2213,12 +2212,6 @@ static int atmel_nand_controller_probe(struct udevice *dev)
return -EINVAL; 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); return caps->ops->probe(dev, caps);
} }

View File

@@ -913,6 +913,7 @@ struct atmel_pmecc *devm_atmel_pmecc_get(struct udevice *userdev)
ret = ofnode_parse_phandle_with_args(userdev->node_, ret = ofnode_parse_phandle_with_args(userdev->node_,
"ecc-engine", "ecc-engine",
NULL, 0, 0, &args); NULL, 0, 0, &args);
/* Probe pmecc driver */
ret = uclass_get_device_by_ofnode(UCLASS_MTD, args.node, &pdev); ret = uclass_get_device_by_ofnode(UCLASS_MTD, args.node, &pdev);
if (ret) if (ret)
return NULL; return NULL;