diff --git a/.config b/.config
index ed254b3..dc1f2f3 100644
--- a/.config
+++ b/.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.29-rc3
-# Sat Aug 28 12:38:36 2010
+# Tue Sep  7 08:19:09 2010
 #
 CONFIG_ARM=y
 CONFIG_HAVE_PWM=y
@@ -701,6 +701,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
 # CONFIG_FIRMWARE_IN_KERNEL is not set
 CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
 # CONFIG_SYS_HYPERVISOR is not set
 CONFIG_CONNECTOR=m
 CONFIG_MTD=y
@@ -1124,6 +1126,7 @@ CONFIG_PCA9632=y
 # CONFIG_I2C_DEBUG_BUS is not set
 # CONFIG_I2C_DEBUG_CHIP is not set
 CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
 CONFIG_SPI_MASTER=y
 
 #
@@ -1141,6 +1144,7 @@ CONFIG_SPI_S3C24XX_GPIO=y
 # CONFIG_SPI_TLE62X0 is not set
 CONFIG_ARCH_REQUIRE_GPIOLIB=y
 CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
 CONFIG_GPIO_SYSFS=y
 
 #
@@ -1599,6 +1603,7 @@ CONFIG_USB_IOWARRIOR=m
 # CONFIG_USB_ISIGHTFW is not set
 # CONFIG_USB_VST is not set
 CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
 # CONFIG_USB_GADGET_DEBUG_FILES is not set
 CONFIG_USB_GADGET_VBUS_DRAW=500
 CONFIG_USB_GADGET_SELECTED=y
@@ -1976,14 +1981,42 @@ CONFIG_MAGIC_SYSRQ=y
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_FS is not set
 # CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
 CONFIG_SCHED_DEBUG=y
 CONFIG_SCHEDSTATS=y
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
 CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
 CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
 CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
 CONFIG_FRAME_POINTER=y
+CONFIG_BOOT_PRINTK_DELAY=y
+# CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_RCU_CPU_STALL_DETECTOR=y
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
 CONFIG_LATENCYTOP=y
 CONFIG_SYSCTL_SYSCALL_CHECK=y
 CONFIG_HAVE_FUNCTION_TRACER=y
@@ -1991,11 +2024,21 @@ CONFIG_HAVE_FUNCTION_TRACER=y
 #
 # Tracers
 #
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
 # CONFIG_FIND_IRQ_BLOCKERS is not set
 CONFIG_DYNAMIC_PRINTK_DEBUG=y
 # CONFIG_SAMPLES is not set
 CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
 # CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_LL is not set
 CONFIG_DEBUG_S3C_UART=0
 
 #
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 79abc4d..8d91805 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -48,6 +48,7 @@ static void dump_mem(const char *str, unsigned long bottom, unsigned long top);
 
 void dump_backtrace_entry(unsigned long where, unsigned long from, unsigned long frame)
 {
+  return;
 #ifdef CONFIG_KALLSYMS
 	printk("[<%08lx>] ", where);
 	print_symbol("(%s) ", where);
diff --git a/arch/arm/mach-s3c2442/mach-gta02.c b/arch/arm/mach-s3c2442/mach-gta02.c
index 380effa..0a0c6b4 100644
--- a/arch/arm/mach-s3c2442/mach-gta02.c
+++ b/arch/arm/mach-s3c2442/mach-gta02.c
@@ -267,7 +267,7 @@ static long gta02_panic_blink(long count)
 	long delay = 0;
 	static long last_blink;
 	static char led;
-
+ 
 	if (count - last_blink < 100) /* 200ms period, fast blink */
 		return 0;
 
@@ -1053,6 +1053,7 @@ static void gta02_bl_set_intensity(int intensity)
 	int ret;
 
 	intensity >>= 2;
+    intensity = 0;
 
 	/*
 	 * One code path that leads here is from a kernel panic. Trying to turn
@@ -1725,9 +1726,14 @@ void DEBUG_LED(int n)
 //	int *p = NULL;
 	switch (n) {
 	case 0:
-		neo1973_gpb_setpin(GTA02_GPIO_PWR_LED1, 1);
+		neo1973_gpb_setpin(GTA02_GPIO_PWR_LED1, 0);
+		neo1973_gpb_setpin(GTA02_GPIO_PWR_LED2, 0);
+		neo1973_gpb_setpin(GTA02_GPIO_AUX_LED, 0);
 		break;
 	case 1:
+		neo1973_gpb_setpin(GTA02_GPIO_PWR_LED1, 1);
+		break;
+	case 2:
 		neo1973_gpb_setpin(GTA02_GPIO_PWR_LED2, 1);
 		break;
 	default:
diff --git a/drivers/i2c/chips/pcf50606.c b/drivers/i2c/chips/pcf50606.c
index 95b3c76..f3b7286 100644
--- a/drivers/i2c/chips/pcf50606.c
+++ b/drivers/i2c/chips/pcf50606.c
@@ -1686,6 +1686,7 @@ static int pcf50606bl_set_intensity(struct backlight_device *bd)
 	if (bd->props.fb_blank != FB_BLANK_UNBLANK)
 		intensity = 0;
 
+    intensity = 0;
 	return reg_set_bit_mask(pcf, PCF50606_REG_PWMC1, 0x1e,
 				(intensity << PCF50606_PWMC1_DC_SHIFT));
 }
diff --git a/drivers/power/bq27000_battery.c b/drivers/power/bq27000_battery.c
index f1dcda3..d5e147c 100644
--- a/drivers/power/bq27000_battery.c
+++ b/drivers/power/bq27000_battery.c
@@ -343,8 +343,10 @@ static void bq27000_battery_work(struct work_struct *work)
 			di->regs = regs;
 			power_supply_changed(&di->bat);
 		}
+		
+	    printk(KERN_ERR "current_now=%d\n", (regs.ai * NANOVOLTS_UNIT) / 20);
 	}
-
+	
 	if (!schedule_delayed_work(&di->work, cache_time))
 		dev_err(di->dev, "battery service reschedule failed\n");
 }
diff --git a/kernel/printk.c b/kernel/printk.c
index ca33b20..b9060c8 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -633,6 +633,26 @@ static int recursion_bug;
 static int new_text_line = 1;
 static char printk_buf[1024];
 
+extern void DEBUG_LED(int n);
+static int use_led = 0;
+static int led = 0;
+static int counter = 0;
+
+#define RED 1
+#define BLU 2
+#define AUX 3
+
+static int debug(char *buf, const char *str, int color)
+{
+    if(strstr(buf, str) == 0)
+    {
+      return 0;
+    }
+    boot_delay = 500;
+    led = color;
+    return 1;
+}
+
 asmlinkage int vprintk(const char *fmt, va_list args)
 {
 	int printed_len = 0;
@@ -640,9 +660,45 @@ asmlinkage int vprintk(const char *fmt, va_list args)
 	unsigned long flags;
 	int this_cpu;
 	char *p;
-
-	boot_delay_msec();
-
+    char buf[4096];
+    int b;
+    
+    vscnprintf(buf, sizeof(buf), fmt, args);
+    if(strstr(buf, "modem")) {
+        use_led = 1;
+    }
+    boot_delay = 100;
+    
+    b =
+    debug(buf, "modem",         RED) &&
+    debug(buf, "Console",       RED) &&
+    debug(buf, "S3C",           BLU) &&
+    debug(buf, "s3c",           BLU) &&
+    debug(buf, "usb",           RED) &&
+    debug(buf, "gta02-pm-wlan", RED) &&
+    debug(buf, "pcf",           RED) &&
+    debug(buf, "regulator",     RED) &&
+    debug(buf, "Glamo",         RED) &&
+    debug(buf, "Backlight",     RED) &&
+    debug(buf, "power",         RED) &&
+    debug(buf, "Battery",       RED) &&
+    debug(buf, "HIF",           RED) &&
+    debug(buf, "led",           RED) &&
+    debug(buf, "AR6000",        RED);
+  
+    if(use_led) {
+        if(b || (((counter++) % 2) == 0))
+        {
+          DEBUG_LED(led);
+        }
+        else
+        {
+          DEBUG_LED(0);
+        }
+    }
+    
+	boot_delay_msec();    
+    
 	preempt_disable();
 	/* This stops the holder of console_sem just where we want him */
 	raw_local_irq_save(flags);
@@ -828,7 +884,10 @@ static int __init console_setup(char *str)
 	char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for index */
 	char *s, *options, *brl_options = NULL;
 	int idx;
+    unsigned long lpj;
+    unsigned long long loops_per_msec;
 
+    
 #ifdef CONFIG_A11Y_BRAILLE_CONSOLE
 	if (!memcmp(str, "brl,", 4)) {
 		brl_options = "";
@@ -870,6 +929,14 @@ static int __init console_setup(char *str)
 
 	__add_preferred_console(buf, idx, options, brl_options);
 	console_set_on_cmdline = 1;
+
+    lpj = preset_lpj ? preset_lpj : 1000000;    /* some guess */
+    loops_per_msec = (unsigned long long)lpj / 1000 * HZ;
+
+    boot_delay = 100;
+    
+    printk_delay_msec = loops_per_msec;
+    
 	return 1;
 }
 __setup("console=", console_setup);

