Skip to content

Commit

Permalink
PM / devfreq: tegra: Register governor on module init
Browse files Browse the repository at this point in the history
So this driver builds as a module.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
  • Loading branch information
Tomeu Vizoso authored and MyungJoo Ham committed Mar 31, 2015
1 parent 34ed504 commit 358b615
Showing 1 changed file with 30 additions and 7 deletions.
37 changes: 30 additions & 7 deletions drivers/devfreq/tegra-devfreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -606,12 +606,6 @@ static struct devfreq_governor tegra_devfreq_governor = {
.event_handler = tegra_governor_event_handler,
};

static int __init tegra_governor_init(void)
{
return devfreq_add_governor(&tegra_devfreq_governor);
}
subsys_initcall(tegra_governor_init);

static int tegra_devfreq_probe(struct platform_device *pdev)
{
struct tegra_devfreq *tegra;
Expand Down Expand Up @@ -755,7 +749,36 @@ static struct platform_driver tegra_devfreq_driver = {
.of_match_table = tegra_devfreq_of_match,
},
};
module_platform_driver(tegra_devfreq_driver);

static int __init tegra_devfreq_init(void)
{
int ret = 0;

ret = devfreq_add_governor(&tegra_devfreq_governor);
if (ret) {
pr_err("%s: failed to add governor: %d\n", __func__, ret);
return ret;
}

ret = platform_driver_register(&tegra_devfreq_driver);
if (ret)
devfreq_remove_governor(&tegra_devfreq_governor);

return ret;
}
module_init(tegra_devfreq_init)

static void __exit tegra_devfreq_exit(void)
{
int ret = 0;

platform_driver_unregister(&tegra_devfreq_driver);

ret = devfreq_remove_governor(&tegra_devfreq_governor);
if (ret)
pr_err("%s: failed to remove governor: %d\n", __func__, ret);
}
module_exit(tegra_devfreq_exit)

MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("Tegra devfreq driver");
Expand Down

0 comments on commit 358b615

Please sign in to comment.