2013-10-28 03:33:55

by Chen Gang

[permalink] [raw]
Subject: [PATCH] arc: kernel: use exporting symbol instead of static inline for arc_get_core_freq()

Need export arc_get_core_freq() instead of let it static inline, or if
other individual modules use it (e.g. use BASE_BAUD), it can not find
core_freq variable.

Signed-off-by: Chen Gang <[email protected]>
---
arch/arc/include/asm/clk.h | 9 +--------
arch/arc/kernel/clk.c | 9 ++++++++-
2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arc/include/asm/clk.h b/arch/arc/include/asm/clk.h
index bf9d29f..256321a 100644
--- a/arch/arc/include/asm/clk.h
+++ b/arch/arc/include/asm/clk.h
@@ -9,14 +9,7 @@
#ifndef _ASM_ARC_CLK_H
#define _ASM_ARC_CLK_H

-/* Although we can't really hide core_freq, the accessor is still better way */
-extern unsigned long core_freq;
-
-static inline unsigned long arc_get_core_freq(void)
-{
- return core_freq;
-}
-
+extern unsigned long arc_get_core_freq(void);
extern int arc_set_core_freq(unsigned long);

#endif
diff --git a/arch/arc/kernel/clk.c b/arch/arc/kernel/clk.c
index 10c7b0b..9f4602f 100644
--- a/arch/arc/kernel/clk.c
+++ b/arch/arc/kernel/clk.c
@@ -6,9 +6,16 @@
* published by the Free Software Foundation.
*/

+#include <linux/module.h>
#include <asm/clk.h>

-unsigned long core_freq = 80000000;
+static unsigned long core_freq = 80000000;
+
+unsigned long arc_get_core_freq(void)
+{
+ return core_freq;
+}
+EXPORT_SYMBOL_GPL(arc_get_core_freq);

/*
* As of now we default to device-tree provided clock
--
1.7.7.6


2013-10-28 06:16:46

by Chen Gang

[permalink] [raw]
Subject: Re: [PATCH] arc: kernel: use exporting symbol instead of static inline for arc_get_core_freq()

On 10/28/2013 11:32 AM, Chen Gang wrote:
> Need export arc_get_core_freq() instead of let it static inline, or if
> other individual modules use it (e.g. use BASE_BAUD), it can not find
> core_freq variable.
>
> Signed-off-by: Chen Gang <[email protected]>
> ---
> arch/arc/include/asm/clk.h | 9 +--------
> arch/arc/kernel/clk.c | 9 ++++++++-
> 2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arc/include/asm/clk.h b/arch/arc/include/asm/clk.h
> index bf9d29f..256321a 100644
> --- a/arch/arc/include/asm/clk.h
> +++ b/arch/arc/include/asm/clk.h
> @@ -9,14 +9,7 @@
> #ifndef _ASM_ARC_CLK_H
> #define _ASM_ARC_CLK_H
>
> -/* Although we can't really hide core_freq, the accessor is still better way */
> -extern unsigned long core_freq;
> -
> -static inline unsigned long arc_get_core_freq(void)
> -{
> - return core_freq;
> -}
> -
> +extern unsigned long arc_get_core_freq(void);
> extern int arc_set_core_freq(unsigned long);
>
> #endif
> diff --git a/arch/arc/kernel/clk.c b/arch/arc/kernel/clk.c
> index 10c7b0b..9f4602f 100644
> --- a/arch/arc/kernel/clk.c
> +++ b/arch/arc/kernel/clk.c
> @@ -6,9 +6,16 @@
> * published by the Free Software Foundation.
> */
>
> +#include <linux/module.h>
> #include <asm/clk.h>
>
> -unsigned long core_freq = 80000000;
> +static unsigned long core_freq = 80000000;
> +
> +unsigned long arc_get_core_freq(void)
> +{
> + return core_freq;
> +}
> +EXPORT_SYMBOL_GPL(arc_get_core_freq);
>

Oh, sorry, need use EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL for it. I
will send patch v2.


> /*
> * As of now we default to device-tree provided clock
>


--
Chen Gang

2013-10-28 06:19:29

by Chen Gang

[permalink] [raw]
Subject: [PATCH v2] arc: kernel: use exporting symbol instead of static inline for arc_get_core_freq()

Need export arc_get_core_freq() instead of let it static inline, or if
other individual modules use it (e.g. use BASE_BAUD), it can not find
core_freq variable.

Signed-off-by: Chen Gang <[email protected]>
---
arch/arc/include/asm/clk.h | 9 +--------
arch/arc/kernel/clk.c | 9 ++++++++-
2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arc/include/asm/clk.h b/arch/arc/include/asm/clk.h
index bf9d29f..256321a 100644
--- a/arch/arc/include/asm/clk.h
+++ b/arch/arc/include/asm/clk.h
@@ -9,14 +9,7 @@
#ifndef _ASM_ARC_CLK_H
#define _ASM_ARC_CLK_H

-/* Although we can't really hide core_freq, the accessor is still better way */
-extern unsigned long core_freq;
-
-static inline unsigned long arc_get_core_freq(void)
-{
- return core_freq;
-}
-
+extern unsigned long arc_get_core_freq(void);
extern int arc_set_core_freq(unsigned long);

#endif
diff --git a/arch/arc/kernel/clk.c b/arch/arc/kernel/clk.c
index 10c7b0b..798be4a 100644
--- a/arch/arc/kernel/clk.c
+++ b/arch/arc/kernel/clk.c
@@ -6,9 +6,16 @@
* published by the Free Software Foundation.
*/

+#include <linux/module.h>
#include <asm/clk.h>

-unsigned long core_freq = 80000000;
+static unsigned long core_freq = 80000000;
+
+unsigned long arc_get_core_freq(void)
+{
+ return core_freq;
+}
+EXPORT_SYMBOL(arc_get_core_freq);

/*
* As of now we default to device-tree provided clock
--
1.7.7.6