From 4487c3317266287f94e88edc5c0cd26359844164 Mon Sep 17 00:00:00 2001 From: Tony Xie Date: Wed, 25 Apr 2018 11:28:06 +0800 Subject: PM / devfreq: rockchip_dmc: Adjust struct rockchip_dmcfreq in suspend. Change-Id: If9761fe64d7edef6e218dee591f523679e154199 Signed-off-by: Tony Xie --- drivers/devfreq/rockchip_dmc.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'drivers/devfreq') diff --git a/drivers/devfreq/rockchip_dmc.c b/drivers/devfreq/rockchip_dmc.c index 6b5c77ef2bc8..1e6cb2961589 100644 --- a/drivers/devfreq/rockchip_dmc.c +++ b/drivers/devfreq/rockchip_dmc.c @@ -1096,6 +1096,9 @@ static __maybe_unused int rockchip_dmcfreq_suspend(struct device *dev) struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); int ret = 0; + if (!dmcfreq) + return 0; + if (dmcfreq->edev) { ret = devfreq_event_disable_edev(dmcfreq->edev); if (ret < 0) { @@ -1118,6 +1121,9 @@ static __maybe_unused int rockchip_dmcfreq_resume(struct device *dev) struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); int ret = 0; + if (!dmcfreq) + return 0; + if (dmcfreq->edev) { ret = devfreq_event_enable_edev(dmcfreq->edev); if (ret < 0) { @@ -2979,9 +2985,12 @@ static int rockchip_dmcfreq_probe(struct platform_device *pdev) dev_err(dev, "failed to get system status rate\n"); if (ret == -ENODEV && !data->auto_freq_en) { dev_info(dev, "don't add devfreq feature\n"); + if (data->edev) + devfreq_event_disable_edev(data->edev); return 0; } } + of_property_read_u32(np, "upthreshold", &data->ondemand_data.upthreshold); of_property_read_u32(np, "downdifferential", -- cgit v1.2.3