[PATCH] Immediate Values - Architecture Independent Code - Fixes following HCH comments

Mathieu Desnoyers
2007-07-14T22:59:34Z

Immediate Values - Architecture Independent Code - Fixes following HCH comments

Various coding style fixes following Christoph's comments
Put asm-generic/immediate.h content into linux/immediate.h.
Remove ifdef __KERNEL__ in .h never exported to user space.
Make immediate_mutex static.

It applies after "Immediate Values - Architecture Independent Code".

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Christoph Hellwig <hch@infradead.org>
---
include/linux/immediate.h | 18 ++++++++++++++----
kernel/immediate.c | 15 +++++++--------
2 files changed, 21 insertions(+), 12 deletions(-)

Index: linux-2.6-lttng/include/linux/immediate.h
===================================================================
--- linux-2.6-lttng.orig/include/linux/immediate.h 2007-07-14 18:13:58.000000000 -0400
+++ linux-2.6-lttng/include/linux/immediate.h 2007-07-14 18:16:26.000000000 -0400
@@ -10,12 +10,23 @@
* See the file COPYING for more details.
*/

-#ifdef __KERNEL__
-
#ifdef CONFIG_IMMEDIATE
#include <asm/immediate.h>
#else
-#include <asm-generic/immediate.h>
+/*
+ * Generic immediate values: a simple, standard, memory load.
+ */
+
+struct module;
+
+#define immediate_read(var) _immediate_read(var)
+#define immediate_set(var, i) ((var)->value = (i))
+#define _immediate_set(var, i) immediate_set(var, i)
+#define immediate_set_early(var, i) immediate_set(var, i)
+#define immediate_if(var) if (immediate_read(var))
+
+static inline void module_immediate_setup(struct module *mod) { }
+static inline void immediate_update_early(void) { }
#endif

/*
@@ -49,5 +60,4 @@ DEFINE_IMMEDIATE_TYPE(void*, immediate_v
*/
#define _immediate_if(var) if (_immediate_read(var))

-#endif /* __KERNEL__ */
#endif
Index: linux-2.6-lttng/kernel/immediate.c
===================================================================
--- linux-2.6-lttng.orig/kernel/immediate.c 2007-07-14 18:13:58.000000000 -0400
+++ linux-2.6-lttng/kernel/immediate.c 2007-07-14 18:27:03.000000000 -0400
@@ -27,13 +27,13 @@ extern const struct __immediate __stop__
* modules_mutex nests inside immediate_mutex. immediate_mutex protects builtin
* immediates and module immediates.
*/
-DEFINE_MUTEX(immediate_mutex);
+static DEFINE_MUTEX(immediate_mutex);

/*
* Sets a range of immediates to a enabled state : set the enable bit.
*/
-static void _immediate_update_range(
- const struct __immediate *begin, const struct __immediate *end)
+static inline void _immediate_update_range(const struct __immediate *begin,
+ const struct __immediate *end)
{
const struct __immediate *iter;
int ret;
@@ -63,11 +63,10 @@ static void _immediate_update_range(
*/
void module_immediate_setup(struct module *mod)
{
- _immediate_update_range(mod->immediate, mod->immediate+mod->num_immediate);
+ _immediate_update_range(mod->immediate,
+ mod->immediate+mod->num_immediate);
}
-#endif

-#ifdef CONFIG_MODULES
/*
* immediate mutex nests inside the modules mutex.
*/
@@ -103,8 +102,8 @@ EXPORT_SYMBOL_GPL(immediate_update);
* Update the immediate values to the state of the variables they refer to. It
* is done before SMP is active, at the very beginning of start_kernel().
*/
-void __init immediate_update_early_range(
- const struct __immediate *begin, const struct __immediate *end)
+void __init immediate_update_early_range(const struct __immediate *begin,
+ const struct __immediate *end)
{
const struct __immediate *iter;