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>
This commit is contained in:
Andi Kleen 2007-05-08 00:29:55 -07:00 committed by Linus Torvalds
parent 6b96862113
commit f038f9a361
3 changed files with 37 additions and 0 deletions

View file

@ -178,4 +178,13 @@ config THINKPAD_ACPI_BAY
If you are not sure, say Y here.
config BLINK
tristate "Keyboard blink driver"
help
Driver that when loaded will blink the keyboard LEDs continuously.
This is useful for debugging and for kernels that cannot necessarily
output something to the screen like kexec kernels to give the user
a visual indication that the kernel is doing something.
endmenu

View file

@ -7,6 +7,7 @@ obj-$(CONFIG_IBM_ASM) += ibmasm/
obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/
obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o
obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o
obj-$(CONFIG_BLINK) += blink.o
obj-$(CONFIG_LKDTM) += lkdtm.o
obj-$(CONFIG_TIFM_CORE) += tifm_core.o
obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o

27
drivers/misc/blink.c Normal file
View file

@ -0,0 +1,27 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/jiffies.h>
static void do_blink(unsigned long data);
static DEFINE_TIMER(blink_timer, do_blink, 0 ,0);
static void do_blink(unsigned long data)
{
static long count;
if (panic_blink)
panic_blink(count++);
blink_timer.expires = jiffies + msecs_to_jiffies(1);
add_timer(&blink_timer);
}
static int blink_init(void)
{
printk(KERN_INFO "Enabling keyboard blinking\n");
do_blink(0);
return 0;
}
module_init(blink_init);