linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
@ 2011-12-13 21:06 Denis Kuzmenko
  2011-12-21  7:04 ` Kukjin Kim
  2011-12-28  7:59 ` Kukjin Kim
  0 siblings, 2 replies; 9+ messages in thread
From: Denis Kuzmenko @ 2011-12-13 21:06 UTC (permalink / raw)
  To: linux-arm-kernel

Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.

Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
---

Patch is against 3.2-rc4.
CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of this the
file s3c2410-iotiming.c is not ever compiled and enabling 
CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to function 
s3c2410_iotiming_debugfs defined in that file. s3c2410_iotiming_debugfs defined
as NULL for this case.

Changelog:
v1 -> v2
New CONFIG_ symbols S3C241{0,2}_IOTIMING were removed as It was observed that 
they already present but hidden from user.

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e084b7e..133d005 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -2118,7 +2118,7 @@ config CPU_FREQ_S3C24XX_DEBUG
 
 config CPU_FREQ_S3C24XX_IODEBUG
 	bool "Debug CPUfreq Samsung driver IO timing"
-	depends on CPU_FREQ_S3C24XX
+	depends on CPU_FREQ_S3C24XX && (S3C2410_IOTIMING || S3C2412_IOTIMING)
 	help
 	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
 
diff --git a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
index dac4760..c465252 100644
--- a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
+++ b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
@@ -202,13 +202,23 @@ extern int s3c_plltab_register(struct cpufreq_frequency_table *plls,
 extern struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void);
 extern struct s3c_iotimings *s3c_cpufreq_getiotimings(void);
 
-extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
-				     struct s3c_cpufreq_config *cfg,
-				     union s3c_iobank *iob);
-
-extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
-				     struct s3c_cpufreq_config *cfg,
-				     union s3c_iobank *iob);
+#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
+	#ifdef CONFIG_S3C2410_IOTIMING
+	extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
+					     struct s3c_cpufreq_config *cfg,
+					     union s3c_iobank *iob);
+	#else
+	#define s3c2410_iotiming_debugfs	NULL
+	#endif
+
+	#ifdef CONFIG_S3C2412_IOTIMING
+	extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
+					     struct s3c_cpufreq_config *cfg,
+					     union s3c_iobank *iob);
+	#else
+	#define s3c2412_iotiming_debugfs	NULL
+	#endif
+#endif
 
 #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
 #define s3c_cpufreq_debugfs_call(x) x
@@ -241,10 +251,7 @@ extern void s3c2410_iotiming_set(struct s3c_cpufreq_config *cfg,
 #endif /* CONFIG_S3C2410_IOTIMING */
 
 /* S3C2412 compatible routines */
-
-extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
-				struct s3c_iotimings *timings);
-
+#ifdef CONFIG_S3C2412_IOTIMING
 extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
 				struct s3c_iotimings *timings);
 
@@ -253,6 +260,11 @@ extern int s3c2412_iotiming_calc(struct s3c_cpufreq_config *cfg,
 
 extern void s3c2412_iotiming_set(struct s3c_cpufreq_config *cfg,
 				 struct s3c_iotimings *iot);
+#else
+#define s3c2412_iotiming_calc NULL
+#define s3c2412_iotiming_get NULL
+#define s3c2412_iotiming_set NULL
+#endif
 
 #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUG
 #define s3c_freq_dbg(x...) printk(KERN_INFO x)

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-13 21:06 [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected Denis Kuzmenko
@ 2011-12-21  7:04 ` Kukjin Kim
  2011-12-21 19:49   ` Denis Kuzmenko
  2011-12-28  7:59 ` Kukjin Kim
  1 sibling, 1 reply; 9+ messages in thread
From: Kukjin Kim @ 2011-12-21  7:04 UTC (permalink / raw)
  To: linux-arm-kernel

Denis Kuzmenko wrote:
> 
> Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
> 
> Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
> ---
> 
> Patch is against 3.2-rc4.
> CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of this
> the
> file s3c2410-iotiming.c is not ever compiled and enabling
> CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to
> function
> s3c2410_iotiming_debugfs defined in that file. s3c2410_iotiming_debugfs
> defined
> as NULL for this case.
> 
Hi Denis,

Well, there is no error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected in my
case and s3c2410-iotiming.c is built...when is it happened? I just selected
every regarding configuration in kernel menuconfig...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


> Changelog:
> v1 -> v2
> New CONFIG_ symbols S3C241{0,2}_IOTIMING were removed as It was observed
> that
> they already present but hidden from user.
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e084b7e..133d005 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -2118,7 +2118,7 @@ config CPU_FREQ_S3C24XX_DEBUG
> 
>  config CPU_FREQ_S3C24XX_IODEBUG
>  	bool "Debug CPUfreq Samsung driver IO timing"
> -	depends on CPU_FREQ_S3C24XX
> +	depends on CPU_FREQ_S3C24XX && (S3C2410_IOTIMING ||
> S3C2412_IOTIMING)
>  	help
>  	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
> 
> diff --git a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> index dac4760..c465252 100644
> --- a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> +++ b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> @@ -202,13 +202,23 @@ extern int s3c_plltab_register(struct
> cpufreq_frequency_table *plls,
>  extern struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void);
>  extern struct s3c_iotimings *s3c_cpufreq_getiotimings(void);
> 
> -extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
> -				     struct s3c_cpufreq_config *cfg,
> -				     union s3c_iobank *iob);
> -
> -extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
> -				     struct s3c_cpufreq_config *cfg,
> -				     union s3c_iobank *iob);
> +#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
> +	#ifdef CONFIG_S3C2410_IOTIMING
> +	extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
> +					     struct s3c_cpufreq_config *cfg,
> +					     union s3c_iobank *iob);
> +	#else
> +	#define s3c2410_iotiming_debugfs	NULL
> +	#endif
> +
> +	#ifdef CONFIG_S3C2412_IOTIMING
> +	extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
> +					     struct s3c_cpufreq_config *cfg,
> +					     union s3c_iobank *iob);
> +	#else
> +	#define s3c2412_iotiming_debugfs	NULL
> +	#endif
> +#endif
> 
>  #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
>  #define s3c_cpufreq_debugfs_call(x) x
> @@ -241,10 +251,7 @@ extern void s3c2410_iotiming_set(struct
> s3c_cpufreq_config *cfg,
>  #endif /* CONFIG_S3C2410_IOTIMING */
> 
>  /* S3C2412 compatible routines */
> -
> -extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
> -				struct s3c_iotimings *timings);
> -
> +#ifdef CONFIG_S3C2412_IOTIMING
>  extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
>  				struct s3c_iotimings *timings);
> 
> @@ -253,6 +260,11 @@ extern int s3c2412_iotiming_calc(struct
> s3c_cpufreq_config *cfg,
> 
>  extern void s3c2412_iotiming_set(struct s3c_cpufreq_config *cfg,
>  				 struct s3c_iotimings *iot);
> +#else
> +#define s3c2412_iotiming_calc NULL
> +#define s3c2412_iotiming_get NULL
> +#define s3c2412_iotiming_set NULL
> +#endif
> 
>  #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUG
>  #define s3c_freq_dbg(x...) printk(KERN_INFO x)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-21  7:04 ` Kukjin Kim
@ 2011-12-21 19:49   ` Denis Kuzmenko
  2011-12-21 22:04     ` Kukjin Kim
  0 siblings, 1 reply; 9+ messages in thread
From: Denis Kuzmenko @ 2011-12-21 19:49 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/21/2011 09:04 AM, Kukjin Kim wrote:
> Denis Kuzmenko wrote:
>>
>> Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
>>
>> Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
>> ---
>>
>> Patch is against 3.2-rc4.
>> CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of this
>> the
>> file s3c2410-iotiming.c is not ever compiled and enabling
>> CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to
>> function
>> s3c2410_iotiming_debugfs defined in that file. s3c2410_iotiming_debugfs
>> defined
>> as NULL for this case.
>>
> Hi Denis,
> 
> Well, there is no error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected in my
> case and s3c2410-iotiming.c is built...when is it happened? I just selected
> every regarding configuration in kernel menuconfig...

Please, try attached config (it's still failing in v3.2-rc6).

-- 
Best regards, Denis Kuzmenko.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: .config
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20111221/e70a99b9/attachment-0001.ksh>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-21 19:49   ` Denis Kuzmenko
@ 2011-12-21 22:04     ` Kukjin Kim
  2011-12-22  0:40       ` Denis Kuzmenko
  0 siblings, 1 reply; 9+ messages in thread
From: Kukjin Kim @ 2011-12-21 22:04 UTC (permalink / raw)
  To: linux-arm-kernel

Denis Kuzmenko wrote:
> 
> On 12/21/2011 09:04 AM, Kukjin Kim wrote:
> > Denis Kuzmenko wrote:
> >>
> >> Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
> >>
> >> Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
> >> ---
> >>
> >> Patch is against 3.2-rc4.
> >> CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of
> this
> >> the
> >> file s3c2410-iotiming.c is not ever compiled and enabling
> >> CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to
> >> function
> >> s3c2410_iotiming_debugfs defined in that file. s3c2410_iotiming_debugfs
> >> defined
> >> as NULL for this case.
> >>
> > Hi Denis,
> >
> > Well, there is no error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected in
> my
> > case and s3c2410-iotiming.c is built...when is it happened? I just
> selected
> > every regarding configuration in kernel menuconfig...
> 
> Please, try attached config (it's still failing in v3.2-rc6).
> 
Hi Denis,

Yes, when s3c2410 stuff is not selected, it happened.
Look at me soon and thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-21 22:04     ` Kukjin Kim
@ 2011-12-22  0:40       ` Denis Kuzmenko
  2011-12-22  1:44         ` Kukjin Kim
  0 siblings, 1 reply; 9+ messages in thread
From: Denis Kuzmenko @ 2011-12-22  0:40 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/22/2011 12:04 AM, Kukjin Kim wrote:
> Denis Kuzmenko wrote:
>>
>> On 12/21/2011 09:04 AM, Kukjin Kim wrote:
>>> Denis Kuzmenko wrote:
>>>>
>>>> Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
>>>>
>>>> Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
>>>> ---
>>>>
>>>> Patch is against 3.2-rc4.
>>>> CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of
>> this
>>>> the
>>>> file s3c2410-iotiming.c is not ever compiled and enabling
>>>> CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to
>>>> function
>>>> s3c2410_iotiming_debugfs defined in that file. s3c2410_iotiming_debugfs
>>>> defined
>>>> as NULL for this case.
>>>>
>>> Hi Denis,
>>>
>>> Well, there is no error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected in
>> my
>>> case and s3c2410-iotiming.c is built...when is it happened? I just
>> selected
>>> every regarding configuration in kernel menuconfig...
>>
>> Please, try attached config (it's still failing in v3.2-rc6).
>>
> Hi Denis,
> 
> Yes, when s3c2410 stuff is not selected, it happened.
> Look at me soon and thanks.
Hi, Kukjin,

Sorry, can you please explain as I can't understand. Especially second
sentence.

-- 
Best regards, Denis Kuzmenko.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-22  0:40       ` Denis Kuzmenko
@ 2011-12-22  1:44         ` Kukjin Kim
  0 siblings, 0 replies; 9+ messages in thread
From: Kukjin Kim @ 2011-12-22  1:44 UTC (permalink / raw)
  To: linux-arm-kernel

Denis Kuzmenko wrote:
> 
> On 12/22/2011 12:04 AM, Kukjin Kim wrote:
> > Denis Kuzmenko wrote:
> >>
> >> On 12/21/2011 09:04 AM, Kukjin Kim wrote:
> >>> Denis Kuzmenko wrote:
> >>>>
> >>>> Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
> >>>>
> >>>> Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
> >>>> ---
> >>>>
> >>>> Patch is against 3.2-rc4.
> >>>> CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of
> >> this
> >>>> the
> >>>> file s3c2410-iotiming.c is not ever compiled and enabling
> >>>> CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to
> >>>> function
> >>>> s3c2410_iotiming_debugfs defined in that file.
> s3c2410_iotiming_debugfs
> >>>> defined
> >>>> as NULL for this case.
> >>>>
> >>> Hi Denis,
> >>>
> >>> Well, there is no error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected
> in
> >> my
> >>> case and s3c2410-iotiming.c is built...when is it happened? I just
> >> selected
> >>> every regarding configuration in kernel menuconfig...
> >>
> >> Please, try attached config (it's still failing in v3.2-rc6).
> >>
> > Hi Denis,
> >
> > Yes, when s3c2410 stuff is not selected, it happened.
> > Look at me soon and thanks.
> Hi, Kukjin,
> 
> Sorry, can you please explain as I can't understand. Especially second
> sentence.
> 
Oops, mis-typing. Let me look at that with your patch :)

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-13 21:06 [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected Denis Kuzmenko
  2011-12-21  7:04 ` Kukjin Kim
@ 2011-12-28  7:59 ` Kukjin Kim
  2011-12-28 21:02   ` Denis Kuzmenko
  1 sibling, 1 reply; 9+ messages in thread
From: Kukjin Kim @ 2011-12-28  7:59 UTC (permalink / raw)
  To: linux-arm-kernel

Denis Kuzmenko wrote:
> 
> Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
> 
> Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
> ---
> 
> Patch is against 3.2-rc4.
> CONFIG_S3C2410_IOTIMING is not selected for MACH_MINI2440. Because of this
> the
> file s3c2410-iotiming.c is not ever compiled and enabling
> CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option caused undefined reference to
> function
> s3c2410_iotiming_debugfs defined in that file. s3c2410_iotiming_debugfs
> defined
> as NULL for this case.
> 
> Changelog:
> v1 -> v2
> New CONFIG_ symbols S3C241{0,2}_IOTIMING were removed as It was observed
> that
> they already present but hidden from user.
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e084b7e..133d005 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -2118,7 +2118,7 @@ config CPU_FREQ_S3C24XX_DEBUG
> 
>  config CPU_FREQ_S3C24XX_IODEBUG
>  	bool "Debug CPUfreq Samsung driver IO timing"
> -	depends on CPU_FREQ_S3C24XX
> +	depends on CPU_FREQ_S3C24XX && (S3C2410_IOTIMING ||
> S3C2412_IOTIMING)

As you know, CONFIG_CPU_FREQ_S3C24XX_IODEBUG is for enabling of
s3c_freq_iodbg() and there is no problem when CONFIG_S3C241{0,2}_IOTIMING is
not selected, even though s3c_freq_iodbg() is used only at
s3c2410-iotiming.c now. So this is not necessary to fix the problem you
said.

>  	help
>  	  Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
> 
> diff --git a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> index dac4760..c465252 100644
> --- a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> +++ b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
> @@ -202,13 +202,23 @@ extern int s3c_plltab_register(struct
> cpufreq_frequency_table *plls,
>  extern struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void);
>  extern struct s3c_iotimings *s3c_cpufreq_getiotimings(void);
> 
> -extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
> -				     struct s3c_cpufreq_config *cfg,
> -				     union s3c_iobank *iob);
> -
> -extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
> -				     struct s3c_cpufreq_config *cfg,
> -				     union s3c_iobank *iob);
> +#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
> +	#ifdef CONFIG_S3C2410_IOTIMING
> +	extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
> +					     struct s3c_cpufreq_config *cfg,
> +					     union s3c_iobank *iob);
> +	#else
> +	#define s3c2410_iotiming_debugfs	NULL
> +	#endif
> +
> +	#ifdef CONFIG_S3C2412_IOTIMING
> +	extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
> +					     struct s3c_cpufreq_config *cfg,
> +					     union s3c_iobank *iob);
> +	#else
> +	#define s3c2412_iotiming_debugfs	NULL
> +	#endif
> +#endif

Well, do we really need to have '#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS'
here?
I think, just having dependency with CONFIG_S3C241{1,2}_IOTIMING can avoid
the build error.

> 
>  #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
>  #define s3c_cpufreq_debugfs_call(x) x
> @@ -241,10 +251,7 @@ extern void s3c2410_iotiming_set(struct
> s3c_cpufreq_config *cfg,
>  #endif /* CONFIG_S3C2410_IOTIMING */
> 
>  /* S3C2412 compatible routines */
> -
> -extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
> -				struct s3c_iotimings *timings);
> -

Yes, why is this duplicated :(

> +#ifdef CONFIG_S3C2412_IOTIMING
>  extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
>  				struct s3c_iotimings *timings);
> 
> @@ -253,6 +260,11 @@ extern int s3c2412_iotiming_calc(struct
> s3c_cpufreq_config *cfg,
> 
>  extern void s3c2412_iotiming_set(struct s3c_cpufreq_config *cfg,
>  				 struct s3c_iotimings *iot);
> +#else
> +#define s3c2412_iotiming_calc NULL
> +#define s3c2412_iotiming_get NULL
> +#define s3c2412_iotiming_set NULL
> +#endif
> 
>  #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUG
>  #define s3c_freq_dbg(x...) printk(KERN_INFO x)

So how about at below?
If you're ok, will send before v3.2.

---
>From 41bb50bd22cdc6d3aa7fb75efab78d341f932ae5 Mon Sep 17 00:00:00 2001
From: Denis Kuzmenko <linux@solonet.org.ua>
Date: Wed, 28 Dec 2011 14:04:51 +0900
Subject: [PATCH] ARM: SAMSUNG: Fix build error when selecting
CPU_FREQ_S3C24XX_DEBUGFS on S3C2440

Following is happened when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
is selected without building of s3c2410-iotiming.c file:

arch/arm/mach-s3c2440/built-in.o:(.data+0x38c): undefined reference to
`s3c2410_iotiming_debugfs

Basically, the CONFIG_S3C2410_IOTIMING is not selected for
MACH_MINI2440. Because the s3c2410-iotiming.c is not ever
compiled and enabling CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option
caused undefined reference to s3c2410_iotiming_debugfs()
defined in that file.  The s3c2410_iotiming_debugfs defined
as NULL for this case.

Signed-off-by: Denis Kuzmenko <linux@solonet.org.ua>
[kgene.kim at samsung.com: removed useless changes]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
---
 arch/arm/plat-samsung/include/plat/cpu-freq-core.h |   25
++++++++++++--------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
index dac4760..95509d8 100644
--- a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
+++ b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h
@@ -202,14 +202,6 @@ extern int s3c_plltab_register(struct
cpufreq_frequency_table *plls,
 extern struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void);
 extern struct s3c_iotimings *s3c_cpufreq_getiotimings(void);
 
-extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
-				     struct s3c_cpufreq_config *cfg,
-				     union s3c_iobank *iob);
-
-extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
-				     struct s3c_cpufreq_config *cfg,
-				     union s3c_iobank *iob);
-
 #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
 #define s3c_cpufreq_debugfs_call(x) x
 #else
@@ -226,6 +218,10 @@ extern void s3c2410_cpufreq_setrefresh(struct
s3c_cpufreq_config *cfg);
 extern void s3c2410_set_fvco(struct s3c_cpufreq_config *cfg);
 
 #ifdef CONFIG_S3C2410_IOTIMING
+extern void s3c2410_iotiming_debugfs(struct seq_file *seq,
+				     struct s3c_cpufreq_config *cfg,
+				     union s3c_iobank *iob);
+
 extern int s3c2410_iotiming_calc(struct s3c_cpufreq_config *cfg,
 				 struct s3c_iotimings *iot);
 
@@ -235,6 +231,7 @@ extern int s3c2410_iotiming_get(struct
s3c_cpufreq_config *cfg,
 extern void s3c2410_iotiming_set(struct s3c_cpufreq_config *cfg,
 				 struct s3c_iotimings *iot);
 #else
+#define s3c2410_iotiming_debugfs NULL
 #define s3c2410_iotiming_calc NULL
 #define s3c2410_iotiming_get NULL
 #define s3c2410_iotiming_set NULL
@@ -242,8 +239,10 @@ extern void s3c2410_iotiming_set(struct
s3c_cpufreq_config *cfg,
 
 /* S3C2412 compatible routines */
 
-extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
-				struct s3c_iotimings *timings);
+#ifdef CONFIG_S3C2412_IOTIMING
+extern void s3c2412_iotiming_debugfs(struct seq_file *seq,
+				     struct s3c_cpufreq_config *cfg,
+				     union s3c_iobank *iob);
 
 extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
 				struct s3c_iotimings *timings);
@@ -253,6 +252,12 @@ extern int s3c2412_iotiming_calc(struct
s3c_cpufreq_config *cfg,
 
 extern void s3c2412_iotiming_set(struct s3c_cpufreq_config *cfg,
 				 struct s3c_iotimings *iot);
+#else
+#define s3c2412_iotiming_debugfs NULL
+#define s3c2412_iotiming_calc NULL
+#define s3c2412_iotiming_get NULL
+#define s3c2412_iotiming_set NULL
+#endif /* CONFIG_S3C2412_IOTIMING */
 
 #ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUG
 #define s3c_freq_dbg(x...) printk(KERN_INFO x)
-- 

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-28  7:59 ` Kukjin Kim
@ 2011-12-28 21:02   ` Denis Kuzmenko
  2011-12-29  3:44     ` Kukjin Kim
  0 siblings, 1 reply; 9+ messages in thread
From: Denis Kuzmenko @ 2011-12-28 21:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Kukjin,

Your patch applies (note that it looks like your email-client have
wrapped long lines thus broke the path) and works OK. Looks good to me.
See some additional comments below.

On 12/28/2011 09:59 AM, Kukjin Kim wrote:
> Denis Kuzmenko wrote:
(snip)
>> +	depends on CPU_FREQ_S3C24XX && (S3C2410_IOTIMING ||
>> S3C2412_IOTIMING)
> 
> As you know, CONFIG_CPU_FREQ_S3C24XX_IODEBUG is for enabling of
> s3c_freq_iodbg() and there is no problem when CONFIG_S3C241{0,2}_IOTIMING is
> not selected, even though s3c_freq_iodbg() is used only at
> s3c2410-iotiming.c now. So this is not necessary to fix the problem you
> said.

I'm OK with this approach, however I don't see any future use of
s3c_freq_iodbg() without s3c2410-iotiming.c. But it's not anyway
critical so please pick any variant which you like.

(snip)
> Well, do we really need to have '#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS'
> here?
> I think, just having dependency with CONFIG_S3C241{1,2}_IOTIMING can avoid
> the build error.

Yes, CONFIG_S3C241{1,2}_IOTIMING dependency is just enough.

(snip)
>> -extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg,
>> -				struct s3c_iotimings *timings);
>> -
> 
> Yes, why is this duplicated :(

Don't have an idea. I'm new to this platform and to Linux at all so I
don't know how it appeared.
Just another harmless mistype I think.

(snip)
> So how about at below?
> If you're ok, will send before v3.2.

So, as already said, I have no objections.
And thank you for review.

-- 
Best regards, Denis Kuzmenko.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected.
  2011-12-28 21:02   ` Denis Kuzmenko
@ 2011-12-29  3:44     ` Kukjin Kim
  0 siblings, 0 replies; 9+ messages in thread
From: Kukjin Kim @ 2011-12-29  3:44 UTC (permalink / raw)
  To: linux-arm-kernel

Denis Kuzmenko wrote:
> 
> Hi Kukjin,
> 
Hi Denis,

> Your patch applies (note that it looks like your email-client have

Yeah, if over 76 columns, my e-mail client changes its line so maybe
happened wrapped long lines.

> wrapped long lines thus broke the path) and works OK. Looks good to me.
> See some additional comments below.
> 
> On 12/28/2011 09:59 AM, Kukjin Kim wrote:
> > Denis Kuzmenko wrote:
> (snip)
> >> +	depends on CPU_FREQ_S3C24XX && (S3C2410_IOTIMING ||
> >> S3C2412_IOTIMING)
> >
> > As you know, CONFIG_CPU_FREQ_S3C24XX_IODEBUG is for enabling of
> > s3c_freq_iodbg() and there is no problem when
> CONFIG_S3C241{0,2}_IOTIMING is
> > not selected, even though s3c_freq_iodbg() is used only at
> > s3c2410-iotiming.c now. So this is not necessary to fix the problem you
> > said.
> 
> I'm OK with this approach, however I don't see any future use of
> s3c_freq_iodbg() without s3c2410-iotiming.c. But it's not anyway
> critical so please pick any variant which you like.
> 
Yes. I think we need to sort out the CPUFREQ on S3C24XX next time :)

(snip)

> (snip)
> > So how about at below?
> > If you're ok, will send before v3.2.
> 
> So, as already said, I have no objections.
> And thank you for review.
> 

Thanks and Happy New Year!

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-12-29  3:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-13 21:06 [PATCHv2 resend] Fix compilation error when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS selected Denis Kuzmenko
2011-12-21  7:04 ` Kukjin Kim
2011-12-21 19:49   ` Denis Kuzmenko
2011-12-21 22:04     ` Kukjin Kim
2011-12-22  0:40       ` Denis Kuzmenko
2011-12-22  1:44         ` Kukjin Kim
2011-12-28  7:59 ` Kukjin Kim
2011-12-28 21:02   ` Denis Kuzmenko
2011-12-29  3:44     ` Kukjin Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).