Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On Saturday, May 17, 2014 01:04:29 AM Rafael J. Wysocki wrote: On Friday, May 16, 2014 07:54:01 PM Kukjin Kim wrote: Jonghwan Choi wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Probably, Suggested-by: Tomasz Figa ? Signed-off-by: Jonghwan Choi jhbird.c...@samsung.com Looks better. Rafael, if you have no objection on this, shall I pick this into samsung tree for 3.16 because of the current build breakage with enabling exynos cpufreq? Please go ahead. Actually, this conflicts with one patch already in my tree. The resoultion is quite obvious, but it would be better to avoid this conflict altogether. Rafael -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v3] cpufreq: exynos: Fix the compile error
Rafael J. Wysocki wrote: On Saturday, May 17, 2014 01:04:29 AM Rafael J. Wysocki wrote: On Friday, May 16, 2014 07:54:01 PM Kukjin Kim wrote: Jonghwan Choi wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Probably, Suggested-by: Tomasz Figa ? Signed-off-by: Jonghwan Choi jhbird.c...@samsung.com Looks better. Rafael, if you have no objection on this, shall I pick this into samsung tree for 3.16 because of the current build breakage with enabling exynos cpufreq? Please go ahead. Actually, this conflicts with one patch already in my tree. The resoultion is quite obvious, but it would be better to avoid this conflict altogether. Yeah. If you don't mind, shall I pick the patch (commit e5eaa445b0dc)into samsung tree with your ack? Thanks, Kukjin -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v3] cpufreq: exynos: Fix the compile error
Jonghwan Choi wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Probably, Suggested-by: Tomasz Figa ? Signed-off-by: Jonghwan Choi jhbird.c...@samsung.com Looks better. Rafael, if you have no objection on this, shall I pick this into samsung tree for 3.16 because of the current build breakage with enabling exynos cpufreq? Thanks, Kukjin --- drivers/cpufreq/exynos-cpufreq.c | 20 +--- drivers/cpufreq/exynos-cpufreq.h |8 drivers/cpufreq/exynos4x12-cpufreq.c | 11 --- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos- cpufreq.c index f99cfe2..9aecffef 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -17,6 +17,7 @@ #include linux/regulator/consumer.h #include linux/cpufreq.h #include linux/platform_device.h +#include linux/of.h #include plat/cpu.h @@ -163,11 +164,24 @@ static int exynos_cpufreq_probe(struct platform_device *pdev) if (!exynos_info) return -ENOMEM; - if (soc_is_exynos4210()) + if (of_machine_is_compatible(samsung,exynos4210)) { + exynos_info-type = EXYNOS_SOC_4210; + } else if (of_machine_is_compatible(samsung,exynos4212)) { + exynos_info-type = EXYNOS_SOC_4212; + } else if (of_machine_is_compatible(samsung,exynos4412)) { + exynos_info-type = EXYNOS_SOC_4212; + } else if (of_machine_is_compatible(samsung,exynos5250)) { + exynos_info-type = EXYNOS_SOC_5250; + } else { + pr_err(%s: Unknown SoC type\n, __func__); + return -ENODEV; + } + + if (exynos_info-type == EXYNOS_SOC_4210) ret = exynos4210_cpufreq_init(exynos_info); - else if (soc_is_exynos4212() || soc_is_exynos4412()) + else if (exynos_info-type == EXYNOS_SOC_4212 || exynos_info-type == EXYNOS_SOC_4412) ret = exynos4x12_cpufreq_init(exynos_info); - else if (soc_is_exynos5250()) + else if (exynos_info-type == EXYNOS_SOC_5250) ret = exynos5250_cpufreq_init(exynos_info); else return 0; diff --git a/drivers/cpufreq/exynos-cpufreq.h b/drivers/cpufreq/exynos- cpufreq.h index 3ddade8..f189547 100644 --- a/drivers/cpufreq/exynos-cpufreq.h +++ b/drivers/cpufreq/exynos-cpufreq.h @@ -17,6 +17,13 @@ enum cpufreq_level_index { L20, }; +enum exynos_soc_type { + EXYNOS_SOC_4210, + EXYNOS_SOC_4212, + EXYNOS_SOC_4412, + EXYNOS_SOC_5250, +}; + #define APLL_FREQ(f, a0, a1, a2, a3, a4, a5, a6, a7, b0, b1, b2, m, p, s) \ { \ .freq = (f) * 1000, \ @@ -34,6 +41,7 @@ struct apll_freq { }; struct exynos_dvfs_info { + enum exynos_soc_type type; unsigned long mpll_freq_khz; unsigned intpll_safe_idx; struct clk *cpu_clk; diff --git a/drivers/cpufreq/exynos4x12-cpufreq.c b/drivers/cpufreq/exynos4x12-cpufreq.c index 466c76a..63a3907 100644 --- a/drivers/cpufreq/exynos4x12-cpufreq.c +++ b/drivers/cpufreq/exynos4x12-cpufreq.c @@ -100,7 +100,6 @@ static struct apll_freq apll_freq_4412[] = { static void exynos4x12_set_clkdiv(unsigned int div_index) { unsigned int tmp; - unsigned int stat_cpu1; /* Change Divider - CPU0 */ @@ -115,13 +114,11 @@ static void exynos4x12_set_clkdiv(unsigned int div_index) tmp = apll_freq_4x12[div_index].clk_div_cpu1; __raw_writel(tmp, EXYNOS4_CLKDIV_CPU1); - if (soc_is_exynos4212()) -
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On 16 May 2014 15:48, Jonghwan Choi jhbird.c...@samsung.com wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 Blank line here.. This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Signed-off-by: Jonghwan Choi jhbird.c...@samsung.com --- drivers/cpufreq/exynos-cpufreq.c | 20 +--- drivers/cpufreq/exynos-cpufreq.h |8 drivers/cpufreq/exynos4x12-cpufreq.c | 11 --- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index f99cfe2..9aecffef 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -17,6 +17,7 @@ #include linux/regulator/consumer.h #include linux/cpufreq.h #include linux/platform_device.h +#include linux/of.h #include plat/cpu.h @@ -163,11 +164,24 @@ static int exynos_cpufreq_probe(struct platform_device *pdev) if (!exynos_info) return -ENOMEM; - if (soc_is_exynos4210()) + if (of_machine_is_compatible(samsung,exynos4210)) { + exynos_info-type = EXYNOS_SOC_4210; + } else if (of_machine_is_compatible(samsung,exynos4212)) { + exynos_info-type = EXYNOS_SOC_4212; + } else if (of_machine_is_compatible(samsung,exynos4412)) { + exynos_info-type = EXYNOS_SOC_4212; 4412 ? + } else if (of_machine_is_compatible(samsung,exynos5250)) { + exynos_info-type = EXYNOS_SOC_5250; + } else { + pr_err(%s: Unknown SoC type\n, __func__); + return -ENODEV; + } + + if (exynos_info-type == EXYNOS_SOC_4210) ret = exynos4210_cpufreq_init(exynos_info); - else if (soc_is_exynos4212() || soc_is_exynos4412()) + else if (exynos_info-type == EXYNOS_SOC_4212 || exynos_info-type == EXYNOS_SOC_4412) ret = exynos4x12_cpufreq_init(exynos_info); - else if (soc_is_exynos5250()) + else if (exynos_info-type == EXYNOS_SOC_5250) ret = exynos5250_cpufreq_init(exynos_info); else return 0; Do this in the first if/else only.. -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On Friday, May 16, 2014 07:54:01 PM Kukjin Kim wrote: Jonghwan Choi wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Probably, Suggested-by: Tomasz Figa ? Signed-off-by: Jonghwan Choi jhbird.c...@samsung.com Looks better. Rafael, if you have no objection on this, shall I pick this into samsung tree for 3.16 because of the current build breakage with enabling exynos cpufreq? Please go ahead. -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On 05/17/14 08:04, Rafael J. Wysocki wrote: On Friday, May 16, 2014 07:54:01 PM Kukjin Kim wrote: Jonghwan Choi wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Probably, Suggested-by: Tomasz Figa ? Signed-off-by: Jonghwan Choijhbird.c...@samsung.com Looks better. Rafael, if you have no objection on this, shall I pick this into samsung tree for 3.16 because of the current build breakage with enabling exynos cpufreq? Please go ahead. Done. Thanks, Kukjin -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On 05/16/14 20:07, Viresh Kumar wrote: On 16 May 2014 15:48, Jonghwan Choijhbird.c...@samsung.com wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 Blank line here.. This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Signed-off-by: Jonghwan Choijhbird.c...@samsung.com --- drivers/cpufreq/exynos-cpufreq.c | 20 +--- drivers/cpufreq/exynos-cpufreq.h |8 drivers/cpufreq/exynos4x12-cpufreq.c | 11 --- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index f99cfe2..9aecffef 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -17,6 +17,7 @@ #includelinux/regulator/consumer.h #includelinux/cpufreq.h #includelinux/platform_device.h +#includelinux/of.h #includeplat/cpu.h @@ -163,11 +164,24 @@ static int exynos_cpufreq_probe(struct platform_device *pdev) if (!exynos_info) return -ENOMEM; - if (soc_is_exynos4210()) + if (of_machine_is_compatible(samsung,exynos4210)) { + exynos_info-type = EXYNOS_SOC_4210; + } else if (of_machine_is_compatible(samsung,exynos4212)) { + exynos_info-type = EXYNOS_SOC_4212; + } else if (of_machine_is_compatible(samsung,exynos4412)) { + exynos_info-type = EXYNOS_SOC_4212; 4412 ? Yes, I will fix when I apply. + } else if (of_machine_is_compatible(samsung,exynos5250)) { + exynos_info-type = EXYNOS_SOC_5250; + } else { + pr_err(%s: Unknown SoC type\n, __func__); + return -ENODEV; + } + + if (exynos_info-type == EXYNOS_SOC_4210) ret = exynos4210_cpufreq_init(exynos_info); - else if (soc_is_exynos4212() || soc_is_exynos4412()) + else if (exynos_info-type == EXYNOS_SOC_4212 || exynos_info-type == EXYNOS_SOC_4412) ret = exynos4x12_cpufreq_init(exynos_info); - else if (soc_is_exynos5250()) + else if (exynos_info-type == EXYNOS_SOC_5250) ret = exynos5250_cpufreq_init(exynos_info); else return 0; Do this in the first if/else only.. Probably, you mean following in above? - if (soc_is_exynos4210()) I've applied this with fixing typo you mentioned just now, if any concerns, please kindly let me know. Thanks, Kukjin -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
Hi Kukjin, On 17.05.2014 01:24, Kukjin Kim wrote: On 05/17/14 08:04, Rafael J. Wysocki wrote: On Friday, May 16, 2014 07:54:01 PM Kukjin Kim wrote: Jonghwan Choi wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Probably, Suggested-by: Tomasz Figa ? Signed-off-by: Jonghwan Choijhbird.c...@samsung.com Looks better. Rafael, if you have no objection on this, shall I pick this into samsung tree for 3.16 because of the current build breakage with enabling exynos cpufreq? Please go ahead. Done. What about Viresh's comments? Best regards, Tomasz -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On 17.05.2014 01:26, Kukjin Kim wrote: On 05/16/14 20:07, Viresh Kumar wrote: On 16 May 2014 15:48, Jonghwan Choijhbird.c...@samsung.com wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 Blank line here.. This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Signed-off-by: Jonghwan Choijhbird.c...@samsung.com --- drivers/cpufreq/exynos-cpufreq.c | 20 +--- drivers/cpufreq/exynos-cpufreq.h |8 drivers/cpufreq/exynos4x12-cpufreq.c | 11 --- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index f99cfe2..9aecffef 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -17,6 +17,7 @@ #includelinux/regulator/consumer.h #includelinux/cpufreq.h #includelinux/platform_device.h +#includelinux/of.h #includeplat/cpu.h @@ -163,11 +164,24 @@ static int exynos_cpufreq_probe(struct platform_device *pdev) if (!exynos_info) return -ENOMEM; - if (soc_is_exynos4210()) + if (of_machine_is_compatible(samsung,exynos4210)) { + exynos_info-type = EXYNOS_SOC_4210; + } else if (of_machine_is_compatible(samsung,exynos4212)) { + exynos_info-type = EXYNOS_SOC_4212; + } else if (of_machine_is_compatible(samsung,exynos4412)) { + exynos_info-type = EXYNOS_SOC_4212; 4412 ? Yes, I will fix when I apply. + } else if (of_machine_is_compatible(samsung,exynos5250)) { + exynos_info-type = EXYNOS_SOC_5250; + } else { + pr_err(%s: Unknown SoC type\n, __func__); + return -ENODEV; + } + + if (exynos_info-type == EXYNOS_SOC_4210) ret = exynos4210_cpufreq_init(exynos_info); - else if (soc_is_exynos4212() || soc_is_exynos4412()) + else if (exynos_info-type == EXYNOS_SOC_4212 || exynos_info-type == EXYNOS_SOC_4412) ret = exynos4x12_cpufreq_init(exynos_info); - else if (soc_is_exynos5250()) + else if (exynos_info-type == EXYNOS_SOC_5250) ret = exynos5250_cpufreq_init(exynos_info); else return 0; Do this in the first if/else only.. Probably, you mean following in above? - if (soc_is_exynos4210()) I've applied this with fixing typo you mentioned just now, if any concerns, please kindly let me know. I think Viresh meant merging the two if/else blocks together, as follows: if (of_machine_is_compatible(samsung,exynos4210)) { exynos_info-type = EXYNOS_SOC_4210; ret = exynos4210_cpufreq_init(exynos_info); } else if (of_machine_is_compatible(samsung,exynos4212)) { exynos_info-type = EXYNOS_SOC_4212; ret = exynos4x12_cpufreq_init(exynos_info); } else if (of_machine_is_compatible(samsung,exynos4412)) { exynos_info-type = EXYNOS_SOC_4412; ret = exynos4x12_cpufreq_init(exynos_info); } else if (of_machine_is_compatible(samsung,exynos5250)) { exynos_info-type = EXYNOS_SOC_5250; ret = exynos5250_cpufreq_init(exynos_info); } else { pr_err(%s: Unknown SoC type\n, __func__); return -ENODEV; } Best regards, Tomasz -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3] cpufreq: exynos: Fix the compile error
On 05/17/14 08:37, Tomasz Figa wrote: On 17.05.2014 01:26, Kukjin Kim wrote: On 05/16/14 20:07, Viresh Kumar wrote: On 16 May 2014 15:48, Jonghwan Choijhbird.c...@samsung.com wrote: Commit 7da83a80 (ARM: EXYNOS: Migrate Exynos specific macros from plat to mach) which lands in samsung tree causes build breakage for cpufreq-exynos like following: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_cpufreq_probe': drivers/cpufreq/exynos-cpufreq.c:166:2: error: implicit declaration of function 'soc_is_exynos4210' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:168:2: error: implicit declaration of function 'soc_is_exynos4412' [-Werror=implicit-function-declaration] drivers/cpufreq/exynos-cpufreq.c:170:2: error: implicit declaration of function 'soc_is_exynos5250' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1 make[2]: *** Waiting for unfinished jobs drivers/cpufreq/exynos4x12-cpufreq.c: In function 'exynos4x12_set_clkdiv': drivers/cpufreq/exynos4x12-cpufreq.c:118:2: error: implicit declaration of function 'soc_is_exynos4212' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[2]: *** [drivers/cpufreq/exynos4x12-cpufreq.o] Error 1 make[1]: *** [drivers/cpufreq] Error 2 Blank line here.. This fixes above error with getting SoC information via of_machine_is_compatible() instead of soc_is_exynos(). Signed-off-by: Jonghwan Choijhbird.c...@samsung.com --- drivers/cpufreq/exynos-cpufreq.c | 20 +--- drivers/cpufreq/exynos-cpufreq.h |8 drivers/cpufreq/exynos4x12-cpufreq.c | 11 --- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index f99cfe2..9aecffef 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c @@ -17,6 +17,7 @@ #includelinux/regulator/consumer.h #includelinux/cpufreq.h #includelinux/platform_device.h +#includelinux/of.h #includeplat/cpu.h @@ -163,11 +164,24 @@ static int exynos_cpufreq_probe(struct platform_device *pdev) if (!exynos_info) return -ENOMEM; - if (soc_is_exynos4210()) + if (of_machine_is_compatible(samsung,exynos4210)) { + exynos_info-type = EXYNOS_SOC_4210; + } else if (of_machine_is_compatible(samsung,exynos4212)) { + exynos_info-type = EXYNOS_SOC_4212; + } else if (of_machine_is_compatible(samsung,exynos4412)) { + exynos_info-type = EXYNOS_SOC_4212; 4412 ? Yes, I will fix when I apply. + } else if (of_machine_is_compatible(samsung,exynos5250)) { + exynos_info-type = EXYNOS_SOC_5250; + } else { + pr_err(%s: Unknown SoC type\n, __func__); + return -ENODEV; + } + + if (exynos_info-type == EXYNOS_SOC_4210) ret = exynos4210_cpufreq_init(exynos_info); - else if (soc_is_exynos4212() || soc_is_exynos4412()) + else if (exynos_info-type == EXYNOS_SOC_4212 || exynos_info-type == EXYNOS_SOC_4412) ret = exynos4x12_cpufreq_init(exynos_info); - else if (soc_is_exynos5250()) + else if (exynos_info-type == EXYNOS_SOC_5250) ret = exynos5250_cpufreq_init(exynos_info); else return 0; Do this in the first if/else only.. Probably, you mean following in above? - if (soc_is_exynos4210()) I've applied this with fixing typo you mentioned just now, if any concerns, please kindly let me know. I think Viresh meant merging the two if/else blocks together, as follows: if (of_machine_is_compatible(samsung,exynos4210)) { exynos_info-type = EXYNOS_SOC_4210; ret = exynos4210_cpufreq_init(exynos_info); } else if (of_machine_is_compatible(samsung,exynos4212)) { exynos_info-type = EXYNOS_SOC_4212; ret = exynos4x12_cpufreq_init(exynos_info); } else if (of_machine_is_compatible(samsung,exynos4412)) { exynos_info-type = EXYNOS_SOC_4412; ret = exynos4x12_cpufreq_init(exynos_info); } else if (of_machine_is_compatible(samsung,exynos5250)) { exynos_info-type = EXYNOS_SOC_5250; ret = exynos5250_cpufreq_init(exynos_info); } else { pr_err(%s: Unknown SoC type\n, __func__); return -ENODEV; } Yeah, I just now realized same thing :( looks better, the SoC type is only used for 4212/4412 in other place though...I will modify as per Viresh's suggestion. Thanks, Kukjin -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the