Re: [PATCH v3] cpufreq: exynos: Fix the compile error

2014-05-19 Thread Rafael J. Wysocki
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

2014-05-19 Thread Kukjin Kim
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

2014-05-16 Thread Kukjin Kim
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

2014-05-16 Thread Viresh Kumar
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

2014-05-16 Thread Rafael J. Wysocki
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

2014-05-16 Thread Kukjin Kim

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

2014-05-16 Thread Kukjin Kim

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

2014-05-16 Thread Tomasz Figa
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

2014-05-16 Thread Tomasz Figa
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

2014-05-16 Thread Kukjin Kim

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