aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu.vizoso@collabora.com>2015-03-30 11:33:23 -0400
committerMyungJoo Ham <myungjoo.ham@samsung.com>2015-03-31 00:17:15 -0400
commit358b615f5812e28dd763d2aa1297563927a2f89d (patch)
tree198dc4fd8f53d4fe7ea821c15152b0963655167c
parent34ed504008b2d8d3578191424fc5cddcb76d69f5 (diff)
PM / devfreq: tegra: Register governor on module init
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>
-rw-r--r--drivers/devfreq/tegra-devfreq.c37
1 files changed, 30 insertions, 7 deletions
diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c
index 8e633a6d775d..13a1a6e8108c 100644
--- a/drivers/devfreq/tegra-devfreq.c
+++ b/drivers/devfreq/tegra-devfreq.c
@@ -606,12 +606,6 @@ static struct devfreq_governor tegra_devfreq_governor = {
606 .event_handler = tegra_governor_event_handler, 606 .event_handler = tegra_governor_event_handler,
607}; 607};
608 608
609static int __init tegra_governor_init(void)
610{
611 return devfreq_add_governor(&tegra_devfreq_governor);
612}
613subsys_initcall(tegra_governor_init);
614
615static int tegra_devfreq_probe(struct platform_device *pdev) 609static int tegra_devfreq_probe(struct platform_device *pdev)
616{ 610{
617 struct tegra_devfreq *tegra; 611 struct tegra_devfreq *tegra;
@@ -755,7 +749,36 @@ static struct platform_driver tegra_devfreq_driver = {
755 .of_match_table = tegra_devfreq_of_match, 749 .of_match_table = tegra_devfreq_of_match,
756 }, 750 },
757}; 751};
758module_platform_driver(tegra_devfreq_driver); 752
753static int __init tegra_devfreq_init(void)
754{
755 int ret = 0;
756
757 ret = devfreq_add_governor(&tegra_devfreq_governor);
758 if (ret) {
759 pr_err("%s: failed to add governor: %d\n", __func__, ret);
760 return ret;
761 }
762
763 ret = platform_driver_register(&tegra_devfreq_driver);
764 if (ret)
765 devfreq_remove_governor(&tegra_devfreq_governor);
766
767 return ret;
768}
769module_init(tegra_devfreq_init)
770
771static void __exit tegra_devfreq_exit(void)
772{
773 int ret = 0;
774
775 platform_driver_unregister(&tegra_devfreq_driver);
776
777 ret = devfreq_remove_governor(&tegra_devfreq_governor);
778 if (ret)
779 pr_err("%s: failed to remove governor: %d\n", __func__, ret);
780}
781module_exit(tegra_devfreq_exit)
759 782
760MODULE_LICENSE("GPL v2"); 783MODULE_LICENSE("GPL v2");
761MODULE_DESCRIPTION("Tegra devfreq driver"); 784MODULE_DESCRIPTION("Tegra devfreq driver");