Merge tag 'tegra-for-4.19-memory' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorOlof Johansson <olof@lixom.net>
Sat, 14 Jul 2018 21:39:55 +0000 (14:39 -0700)
committerOlof Johansson <olof@lixom.net>
Sat, 14 Jul 2018 21:39:55 +0000 (14:39 -0700)
memory: tegra: Changes for v4.19-rc1

This contains a single fix for the initialization order of the various
parts of the Tegra memory controller driver.

* tag 'tegra-for-4.19-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  memory: tegra: Correct driver probe order

Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/memory/tegra/mc.c

index bb93cc53554e63cc279d58cf44c2733a46c28368..bd25faf6d13d319db73d399b98f7163332dbd895 100644 (file)
@@ -672,13 +672,6 @@ static int tegra_mc_probe(struct platform_device *pdev)
                return err;
        }
 
-       err = tegra_mc_reset_setup(mc);
-       if (err < 0) {
-               dev_err(&pdev->dev, "failed to register reset controller: %d\n",
-                       err);
-               return err;
-       }
-
        mc->irq = platform_get_irq(pdev, 0);
        if (mc->irq < 0) {
                dev_err(&pdev->dev, "interrupt not specified\n");
@@ -697,13 +690,16 @@ static int tegra_mc_probe(struct platform_device *pdev)
                return err;
        }
 
+       err = tegra_mc_reset_setup(mc);
+       if (err < 0)
+               dev_err(&pdev->dev, "failed to register reset controller: %d\n",
+                       err);
+
        if (IS_ENABLED(CONFIG_TEGRA_IOMMU_SMMU)) {
                mc->smmu = tegra_smmu_probe(&pdev->dev, mc->soc->smmu, mc);
-               if (IS_ERR(mc->smmu)) {
+               if (IS_ERR(mc->smmu))
                        dev_err(&pdev->dev, "failed to probe SMMU: %ld\n",
                                PTR_ERR(mc->smmu));
-                       return PTR_ERR(mc->smmu);
-               }
        }
 
        return 0;