mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 4/8] lock validator: early_init_irq_lock_type / console_init
@ 2006-06-14 14:19 Heiko Carstens
  0 siblings, 0 replies; only message in thread
From: Heiko Carstens @ 2006-06-14 14:19 UTC (permalink / raw)
  To: Ingo Molnar, Arjan van de Ven, Andrew Morton
  Cc: linux-kernel, Martin Schwidefsky

From: Heiko Carstens <heiko.carstens@de.ibm.com>

Two changes:
 - let the kernel compile for architectures that support TRACE_IRQ_FLAGS but
   don't support GENERIC_HARDIRQS.
 - s390's console_init must enable interrupts, but early_boot_irqs_on() gets
   called later. To avoid problems move console_init() after local_irq_enable().
   Hope this works on all architectures?!

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---

 include/linux/lockdep.h |    8 ++++++--
 init/main.c             |    6 +++---
 2 files changed, 9 insertions(+), 5 deletions(-)

diff -purN a/include/linux/lockdep.h b/include/linux/lockdep.h
--- a/include/linux/lockdep.h	2006-06-14 10:57:14.000000000 +0200
+++ b/include/linux/lockdep.h	2006-06-14 13:02:19.000000000 +0200
@@ -265,12 +265,16 @@ static inline void lockdep_on(void)
 struct lockdep_type_key { };
 #endif /* !LOCKDEP */
 
-#ifdef CONFIG_TRACE_IRQFLAGS
+#if defined(CONFIG_TRACE_IRQFLAGS) && defined(CONFIG_GENERIC_HARDIRQS)
 extern void early_init_irq_lock_type(void);
+#else
+# define early_init_irq_lock_type()		do { } while (0)
+#endif
+
+#ifdef CONFIG_TRACE_IRQFLAGS
 extern void early_boot_irqs_off(void);
 extern void early_boot_irqs_on(void);
 #else
-# define early_init_irq_lock_type()		do { } while (0)
 # define early_boot_irqs_off()			do { } while (0)
 # define early_boot_irqs_on()			do { } while (0)
 #endif
diff -purN a/init/main.c b/init/main.c
--- a/init/main.c	2006-06-14 10:57:04.000000000 +0200
+++ b/init/main.c	2006-06-14 13:02:19.000000000 +0200
@@ -516,6 +516,9 @@ asmlinkage void __init start_kernel(void
 	softirq_init();
 	time_init();
 	timekeeping_init();
+	profile_init();
+	early_boot_irqs_on();
+	local_irq_enable();
 
 	/*
 	 * HACK ALERT! This is early. We're enabling the console before
@@ -525,9 +528,6 @@ asmlinkage void __init start_kernel(void
 	console_init();
 	if (panic_later)
 		panic(panic_later, panic_param);
-	profile_init();
-	early_boot_irqs_on();
-	local_irq_enable();
 
 	lockdep_info();
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-06-14 14:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-14 14:19 [patch 4/8] lock validator: early_init_irq_lock_type / console_init Heiko Carstens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®