diff options
| author | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2015-03-30 11:33:23 -0400 |
|---|---|---|
| committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2015-03-31 00:17:15 -0400 |
| commit | 358b615f5812e28dd763d2aa1297563927a2f89d (patch) | |
| tree | 198dc4fd8f53d4fe7ea821c15152b0963655167c /drivers/devfreq | |
| parent | 34ed504008b2d8d3578191424fc5cddcb76d69f5 (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>
Diffstat (limited to 'drivers/devfreq')
| -rw-r--r-- | drivers/devfreq/tegra-devfreq.c | 37 |
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 | ||
| 609 | static int __init tegra_governor_init(void) | ||
| 610 | { | ||
| 611 | return devfreq_add_governor(&tegra_devfreq_governor); | ||
| 612 | } | ||
| 613 | subsys_initcall(tegra_governor_init); | ||
| 614 | |||
| 615 | static int tegra_devfreq_probe(struct platform_device *pdev) | 609 | static 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 | }; |
| 758 | module_platform_driver(tegra_devfreq_driver); | 752 | |
| 753 | static 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 | } | ||
| 769 | module_init(tegra_devfreq_init) | ||
| 770 | |||
| 771 | static 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 | } | ||
| 781 | module_exit(tegra_devfreq_exit) | ||
| 759 | 782 | ||
| 760 | MODULE_LICENSE("GPL v2"); | 783 | MODULE_LICENSE("GPL v2"); |
| 761 | MODULE_DESCRIPTION("Tegra devfreq driver"); | 784 | MODULE_DESCRIPTION("Tegra devfreq driver"); |
