@@ -1395,13 +1395,17 @@ static int tegra_emc_interconnect_init(struct tegra_emc *emc)
static int tegra_emc_opp_table_init(struct tegra_emc *emc)
{
u32 hw_version = BIT(tegra_sku_info.soc_speedo_id);
- struct opp_table *hw_opp_table;
+ struct opp_table *opp_table;
int err;
+ struct dev_pm_opp_config config = {
+ .supported_hw = &hw_version,
+ .supported_hw_count = 1,
+ };
- hw_opp_table = dev_pm_opp_set_supported_hw(emc->dev, &hw_version, 1);
- err = PTR_ERR_OR_ZERO(hw_opp_table);
+ opp_table = dev_pm_opp_set_config(emc->dev, &config);
+ err = PTR_ERR_OR_ZERO(opp_table);
if (err) {
- dev_err(emc->dev, "failed to set OPP supported HW: %d\n", err);
+ dev_err(emc->dev, "failed to set OPP config: %d\n", err);
return err;
}
@@ -1430,7 +1434,7 @@ static int tegra_emc_opp_table_init(struct tegra_emc *emc)
remove_table:
dev_pm_opp_of_remove_table(emc->dev);
put_hw_table:
- dev_pm_opp_put_supported_hw(hw_opp_table);
+ dev_pm_opp_clear_config(opp_table);
return err;
}
The OPP core now provides a unified API for setting all configuration types, i.e. dev_pm_opp_set_config(). Lets start using it. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/memory/tegra/tegra124-emc.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)