memory: tegra124-emc: Continue probing if timings are missing in device-tree
authorDmitry Osipenko <digetx@gmail.com>
Mon, 28 Dec 2020 15:49:17 +0000 (18:49 +0300)
committerKrzysztof Kozlowski <krzk@kernel.org>
Tue, 5 Jan 2021 17:01:23 +0000 (18:01 +0100)
EMC driver will become mandatory after turning it into interconnect
provider because interconnect users, like display controller driver, will
fail to probe using newer device-trees that have interconnect properties.
Thus make EMC driver to probe even if timings are missing in device-tree.

Tested-by: Nicolas Chauvet <kwizart@gmail.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20201228154920.18846-3-digetx@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
drivers/memory/tegra/tegra124-emc.c

index edfbf6d6d35728bbbf030d985cd03de66b032a21..8fb8c1af25c9deceb45e7eb8d724a18c8b1f303a 100644 (file)
@@ -1201,23 +1201,15 @@ static int tegra_emc_probe(struct platform_device *pdev)
        ram_code = tegra_read_ram_code();
 
        np = tegra_emc_find_node_by_ram_code(pdev->dev.of_node, ram_code);
-       if (!np) {
-               dev_err(&pdev->dev,
-                       "no memory timings for RAM code %u found in DT\n",
-                       ram_code);
-               return -ENOENT;
-       }
-
-       err = tegra_emc_load_timings_from_dt(emc, np);
-       of_node_put(np);
-       if (err)
-               return err;
-
-       if (emc->num_timings == 0) {
-               dev_err(&pdev->dev,
-                       "no memory timings for RAM code %u registered\n",
-                       ram_code);
-               return -ENOENT;
+       if (np) {
+               err = tegra_emc_load_timings_from_dt(emc, np);
+               of_node_put(np);
+               if (err)
+                       return err;
+       } else {
+               dev_info(&pdev->dev,
+                        "no memory timings for RAM code %u found in DT\n",
+                        ram_code);
        }
 
        err = emc_init(emc);