This fixes "_opp_is_duplicate" warning messages on driver's module reload. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> --- drivers/devfreq/tegra-devfreq.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index 96f1e8e64e46..0985c02b75fe 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -691,10 +691,10 @@ static int tegra_devfreq_probe(struct platform_device *pdev) } tegra_devfreq_profile.initial_freq = clk_get_rate(tegra->emc_clock); - tegra->devfreq = devm_devfreq_add_device(&pdev->dev, - &tegra_devfreq_profile, - "tegra_actmon", - NULL); + tegra->devfreq = devfreq_add_device(&pdev->dev, + &tegra_devfreq_profile, + "tegra_actmon", + NULL); return 0; } @@ -705,6 +705,9 @@ static int tegra_devfreq_remove(struct platform_device *pdev) u32 val; unsigned int i; + devfreq_remove_device(tegra->devfreq); + dev_pm_opp_remove_all_dynamic(&pdev->dev); + for (i = 0; i < ARRAY_SIZE(actmon_device_configs); i++) { val = device_readl(&tegra->devices[i], ACTMON_DEV_CTRL); val &= ~ACTMON_DEV_CTRL_ENB; -- 2.21.0