--- h4000_bt.c-orig	2007-03-01 01:14:10.000000000 +0300
+++ h4000_bt.c	2007-03-01 00:04:18.000000000 +0300
@@ -20,6 +20,10 @@
 
 #include <asm/hardware.h>
 
+#include <linux/leds.h>
+#include <asm/hardware/asic3_leds.h>
+
+
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/serial.h>
 #include <asm/arch/h4000-gpio.h>
@@ -34,6 +38,9 @@
 #define BTUART_IDX 0
 #define HWUART_IDX 1
 
+DEFINE_LED_TRIGGER(bt_trig);
+
+
 static void h4000_bluetooth_power(int uart, int on)
 {
         int tries;
@@ -56,6 +63,8 @@
 		} while (((uart ? HWMSR : BTMSR) & MSR_CTS) == 0 && ++tries < 50);
 		printk("BRF initialization delay: %d0ms\n", tries);
 
+		led_trigger_event(bt_trig, LED_FULL);
+
 	} else {
 		DPM_DEBUG("h4000_bt: Turning off\n");
 		asic3_set_gpio_out_b(&h4000_asic3.dev, GPIOB_BT_WAKE_UP, 0);
@@ -64,6 +73,7 @@
 		asic3_set_gpio_out_c(&h4000_asic3.dev, GPIOC_BLUETOOTH_3V3_ON, 0);
 		// Just in case we'll activated immediately again, we should delay here
 		mdelay(10);
+		led_trigger_event(bt_trig, LED_OFF);
 	}
 }
 
@@ -151,12 +161,16 @@
 {
 	printk(KERN_INFO "h4000 Bluetooth Driver\n");
 	platform_driver_register(&bluetooth_driver);
+	led_trigger_register_simple("h4000-bt", &bt_trig);
+	led_trigger_event(bt_trig, LED_OFF);
+
 	
 	return 0;
 }
 
 static void __exit h4000_bluetooth_exit(void)
-{
+{	
+	led_trigger_unregister_simple(bt_trig);
         platform_driver_unregister(&bluetooth_driver);
 }
 

