aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAndi Kleen <ak@novell.com>2007-05-08 03:29:55 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:15:10 -0400
commitf038f9a361a764ed013447174b7170073f89cbe9 (patch)
tree63963a1c5e8e0228d601637e9c96ebffd152a942 /drivers
parent6b9686211374a9751ae70a95fd1fcfb8c2a80698 (diff)
Add keyboard blink driver
Simple driver that blinks the keyboard LEDs when loaded. Useful for checking that the kernel is still alive or for crashdumping Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/Kconfig9
-rw-r--r--drivers/misc/Makefile1
-rw-r--r--drivers/misc/blink.c27
3 files changed, 37 insertions, 0 deletions
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index a3c525b2616a..bfb02c1a45ae 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -178,4 +178,13 @@ config THINKPAD_ACPI_BAY
178 178
179 If you are not sure, say Y here. 179 If you are not sure, say Y here.
180 180
181config BLINK
182 tristate "Keyboard blink driver"
183 help
184 Driver that when loaded will blink the keyboard LEDs continuously.
185 This is useful for debugging and for kernels that cannot necessarily
186 output something to the screen like kexec kernels to give the user
187 a visual indication that the kernel is doing something.
188
189
181endmenu 190endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index e32516459138..ece6baf76bc7 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_IBM_ASM) += ibmasm/
7obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/ 7obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/
8obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o 8obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o
9obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o 9obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o
10obj-$(CONFIG_BLINK) += blink.o
10obj-$(CONFIG_LKDTM) += lkdtm.o 11obj-$(CONFIG_LKDTM) += lkdtm.o
11obj-$(CONFIG_TIFM_CORE) += tifm_core.o 12obj-$(CONFIG_TIFM_CORE) += tifm_core.o
12obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o 13obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
diff --git a/drivers/misc/blink.c b/drivers/misc/blink.c
new file mode 100644
index 000000000000..634431ce1184
--- /dev/null
+++ b/drivers/misc/blink.c
@@ -0,0 +1,27 @@
1#include <linux/kernel.h>
2#include <linux/module.h>
3#include <linux/timer.h>
4#include <linux/jiffies.h>
5
6static void do_blink(unsigned long data);
7
8static DEFINE_TIMER(blink_timer, do_blink, 0 ,0);
9
10static void do_blink(unsigned long data)
11{
12 static long count;
13 if (panic_blink)
14 panic_blink(count++);
15 blink_timer.expires = jiffies + msecs_to_jiffies(1);
16 add_timer(&blink_timer);
17}
18
19static int blink_init(void)
20{
21 printk(KERN_INFO "Enabling keyboard blinking\n");
22 do_blink(0);
23 return 0;
24}
25
26module_init(blink_init);
27