Commit f038f9a3 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

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: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6b968621
...@@ -178,4 +178,13 @@ config THINKPAD_ACPI_BAY ...@@ -178,4 +178,13 @@ config THINKPAD_ACPI_BAY
If you are not sure, say Y here. 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 endmenu
...@@ -7,6 +7,7 @@ obj-$(CONFIG_IBM_ASM) += ibmasm/ ...@@ -7,6 +7,7 @@ obj-$(CONFIG_IBM_ASM) += ibmasm/
obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/ obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/
obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o
obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o
obj-$(CONFIG_BLINK) += blink.o
obj-$(CONFIG_LKDTM) += lkdtm.o obj-$(CONFIG_LKDTM) += lkdtm.o
obj-$(CONFIG_TIFM_CORE) += tifm_core.o obj-$(CONFIG_TIFM_CORE) += tifm_core.o
obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
......
#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);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment