mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 13:22:57 +00:00
cpufreq: mediatek: Unregister platform device on exit
[ Upstream commitf126fbadce
] We register the platform device when driver inits. However, we do not unregister it when driver exits. To resolve this, we declare the platform data to be a global static variable and rename it to be "cpufreq_pdev". With this global variable, we can do platform_device_unregister() when driver exits. Fixes:501c574f4e
("cpufreq: mediatek: Add support of cpufreq to MT2701/MT7623 SoC") Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com> [ Viresh: Commit log and Subject ] Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
930df2ea22
commit
e2722f60c5
1 changed files with 6 additions and 4 deletions
|
@ -44,6 +44,8 @@ struct mtk_cpu_dvfs_info {
|
|||
bool need_voltage_tracking;
|
||||
};
|
||||
|
||||
static struct platform_device *cpufreq_pdev;
|
||||
|
||||
static LIST_HEAD(dvfs_info_list);
|
||||
|
||||
static struct mtk_cpu_dvfs_info *mtk_cpu_dvfs_info_lookup(int cpu)
|
||||
|
@ -547,7 +549,6 @@ static int __init mtk_cpufreq_driver_init(void)
|
|||
{
|
||||
struct device_node *np;
|
||||
const struct of_device_id *match;
|
||||
struct platform_device *pdev;
|
||||
int err;
|
||||
|
||||
np = of_find_node_by_path("/");
|
||||
|
@ -571,11 +572,11 @@ static int __init mtk_cpufreq_driver_init(void)
|
|||
* and the device registration codes are put here to handle defer
|
||||
* probing.
|
||||
*/
|
||||
pdev = platform_device_register_simple("mtk-cpufreq", -1, NULL, 0);
|
||||
if (IS_ERR(pdev)) {
|
||||
cpufreq_pdev = platform_device_register_simple("mtk-cpufreq", -1, NULL, 0);
|
||||
if (IS_ERR(cpufreq_pdev)) {
|
||||
pr_err("failed to register mtk-cpufreq platform device\n");
|
||||
platform_driver_unregister(&mtk_cpufreq_platdrv);
|
||||
return PTR_ERR(pdev);
|
||||
return PTR_ERR(cpufreq_pdev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -584,6 +585,7 @@ module_init(mtk_cpufreq_driver_init)
|
|||
|
||||
static void __exit mtk_cpufreq_driver_exit(void)
|
||||
{
|
||||
platform_device_unregister(cpufreq_pdev);
|
||||
platform_driver_unregister(&mtk_cpufreq_platdrv);
|
||||
}
|
||||
module_exit(mtk_cpufreq_driver_exit)
|
||||
|
|
Loading…
Reference in a new issue