27.10.2020 13:09, Krzysztof Kozlowski пишет: ...
+err_msg:
- dev_err(emc->dev, "failed to initialize ICC: %d\n", err);
You will print such errors on all existing DTBs. Since it is not a failure of probe (it is actually quite expected, normal situation when booting with older DTB), let's change it to warning (here and in all other places and drivers).
The existing DTBs will be stopped on the error message below.
- return err;
+}
+static int tegra_emc_opp_table_init(struct tegra_emc *emc) +{
- const char *rname = "core";
- int err;
- /*
* Legacy device-trees don't have OPP table and EMC driver isn't
* useful in this case.
*/
- if (!device_property_present(emc->dev, "operating-points-v2")) {
dev_err(emc->dev, "OPP table not found\n");
dev_err(emc->dev, "please update your device tree\n");
return -ENODEV;
- }
The existing DTBs are stopped here.
...
- err = tegra_emc_opp_table_init(emc);
- if (err)
goto unreg_notifier;
This looks like the ABI break I mentioned around DT bindings. Are the bindings marked as unstable?
This T20 EMC driver wasn't ever used so far at all and this series makes it useful. Hence I think it should be fine to assume that the T20 EMC ABI is unstable.