diff options
author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2013-08-09 08:04:55 -0400 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2013-08-12 02:30:21 -0400 |
commit | 45e12086263a53f16b489fc7f4f8f6348a688661 (patch) | |
tree | 7f5d34487d8c7b5cdc49dc6f946e591260bfab34 /drivers/cpufreq/exynos-cpufreq.h | |
parent | c721d15a5cc1dade16f068123070c570378c5cc0 (diff) |
cpufreq: fix EXYNOS drivers selection
* remove superfluous pr_debug() call from exynos_cpufreq_init()
(init errors are always logged anyway)
* add dummy per-SoC type init functions to exynos-cpufreq.h
* make per-SoC type cpufreq config options selectable
* make CONFIG_ARM_EXYNOS_CPUFREQ config option invisible to user and
automatically enable it when needed
This patch fixes following issues:
* EXYNOS per-SoC type cpufreq support (i.e. exynos4210-cpufreq.c) being
always built if given SoC support was enabled (i.e. CPU_EXYNOS4210),
even if common EXYNOS cpufreq support was disabled
* inability to select cpufreq for each SoC type separately (it could
be only enabled/disabled for all SoCs for which support was enabled)
* EXYNOS5440 cpufreq support was always enabled when EXYNOS5440
support was enabled and couldn't be disabled
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'drivers/cpufreq/exynos-cpufreq.h')
-rw-r--r-- | drivers/cpufreq/exynos-cpufreq.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/cpufreq/exynos-cpufreq.h b/drivers/cpufreq/exynos-cpufreq.h index 92b852ee5ddc..7f25cee8cec2 100644 --- a/drivers/cpufreq/exynos-cpufreq.h +++ b/drivers/cpufreq/exynos-cpufreq.h | |||
@@ -43,6 +43,27 @@ struct exynos_dvfs_info { | |||
43 | bool (*need_apll_change)(unsigned int, unsigned int); | 43 | bool (*need_apll_change)(unsigned int, unsigned int); |
44 | }; | 44 | }; |
45 | 45 | ||
46 | #ifdef CONFIG_ARM_EXYNOS4210_CPUFREQ | ||
46 | extern int exynos4210_cpufreq_init(struct exynos_dvfs_info *); | 47 | extern int exynos4210_cpufreq_init(struct exynos_dvfs_info *); |
48 | #else | ||
49 | static inline int exynos4210_cpufreq_init(struct exynos_dvfs_info *info) | ||
50 | { | ||
51 | return -EOPNOTSUPP; | ||
52 | } | ||
53 | #endif | ||
54 | #ifdef CONFIG_ARM_EXYNOS4X12_CPUFREQ | ||
47 | extern int exynos4x12_cpufreq_init(struct exynos_dvfs_info *); | 55 | extern int exynos4x12_cpufreq_init(struct exynos_dvfs_info *); |
56 | #else | ||
57 | static inline int exynos4x12_cpufreq_init(struct exynos_dvfs_info *info) | ||
58 | { | ||
59 | return -EOPNOTSUPP; | ||
60 | } | ||
61 | #endif | ||
62 | #ifdef CONFIG_ARM_EXYNOS5250_CPUFREQ | ||
48 | extern int exynos5250_cpufreq_init(struct exynos_dvfs_info *); | 63 | extern int exynos5250_cpufreq_init(struct exynos_dvfs_info *); |
64 | #else | ||
65 | static inline int exynos5250_cpufreq_init(struct exynos_dvfs_info *info) | ||
66 | { | ||
67 | return -EOPNOTSUPP; | ||
68 | } | ||
69 | #endif | ||