2006-12-09 00:01:15

by Chris Wright

[permalink] [raw]
Subject: [patch 24/32] add bottom_half.h

-stable review patch. If anyone has any objections, please let us know.
------------------

From: Andrew Morton <[email protected]>

With CONFIG_SMP=n:

drivers/input/ff-memless.c:384: warning: implicit declaration of function 'local_bh_disable'
drivers/input/ff-memless.c:393: warning: implicit declaration of function 'local_bh_enable'

Really linux/spinlock.h should include linux/interrupt.h. But interrupt.h
includes sched.h which will need spinlock.h.

So the patch breaks the _bh declarations out into a separate header and
includes it in bothj interrupt.h and spinlock.h.

Cc: "Randy.Dunlap" <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: <[email protected]>
Cc: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
---

include/linux/bottom_half.h | 5 +++++
include/linux/interrupt.h | 7 +------
include/linux/spinlock.h | 1 +
3 files changed, 7 insertions(+), 6 deletions(-)

--- /dev/null
+++ linux-2.6.19/include/linux/bottom_half.h
@@ -0,0 +1,5 @@
+extern void local_bh_disable(void);
+extern void __local_bh_enable(void);
+extern void _local_bh_enable(void);
+extern void local_bh_enable(void);
+extern void local_bh_enable_ip(unsigned long ip);
--- linux-2.6.19.orig/include/linux/interrupt.h
+++ linux-2.6.19/include/linux/interrupt.h
@@ -11,6 +11,7 @@
#include <linux/hardirq.h>
#include <linux/sched.h>
#include <linux/irqflags.h>
+#include <linux/bottom_half.h>
#include <asm/atomic.h>
#include <asm/ptrace.h>
#include <asm/system.h>
@@ -217,12 +218,6 @@ static inline void __deprecated save_and
#define save_and_cli(x) save_and_cli(&x)
#endif /* CONFIG_SMP */

-extern void local_bh_disable(void);
-extern void __local_bh_enable(void);
-extern void _local_bh_enable(void);
-extern void local_bh_enable(void);
-extern void local_bh_enable_ip(unsigned long ip);
-
/* PLEASE, avoid to allocate new softirqs, if you need not _really_ high
frequency threaded job scheduling. For almost all the purposes
tasklets are more than enough. F.e. all serial device BHs et
--- linux-2.6.19.orig/include/linux/spinlock.h
+++ linux-2.6.19/include/linux/spinlock.h
@@ -52,6 +52,7 @@
#include <linux/thread_info.h>
#include <linux/kernel.h>
#include <linux/stringify.h>
+#include <linux/bottom_half.h>

#include <asm/system.h>


--


2006-12-09 13:50:38

by Thomas Backlund

[permalink] [raw]
Subject: Re: [patch 24/32] add bottom_half.h

Chris Wright wrote:
> -stable review patch. If anyone has any objections, please let us know.
> ------------------
>
> From: Andrew Morton <[email protected]>
>
> With CONFIG_SMP=n:
>
> drivers/input/ff-memless.c:384: warning: implicit declaration of function 'local_bh_disable'
> drivers/input/ff-memless.c:393: warning: implicit declaration of function 'local_bh_enable'
>
> Really linux/spinlock.h should include linux/interrupt.h. But interrupt.h
> includes sched.h which will need spinlock.h.
>
> So the patch breaks the _bh declarations out into a separate header and
> includes it in bothj interrupt.h and spinlock.h.
>
> Cc: "Randy.Dunlap" <[email protected]>
> Cc: Andi Kleen <[email protected]>
> Cc: <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> Signed-off-by: Chris Wright <[email protected]>
> ---
>
> include/linux/bottom_half.h | 5 +++++

This file is missing in patch-2.6.19.1-rc[1,2].bz2

--
Thomas