From 89bc2d4ddf3dbc9490271177c33eec2fdf25b28c Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Tue, 8 May 2007 00:29:55 -0700 Subject: [PATCH] --- yaml --- r: 54680 b: refs/heads/master c: f038f9a361a764ed013447174b7170073f89cbe9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/misc/Kconfig | 9 +++++++++ trunk/drivers/misc/Makefile | 1 + trunk/drivers/misc/blink.c | 27 +++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 trunk/drivers/misc/blink.c diff --git a/[refs] b/[refs] index 417228ef21e8..5826814f2524 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6b9686211374a9751ae70a95fd1fcfb8c2a80698 +refs/heads/master: f038f9a361a764ed013447174b7170073f89cbe9 diff --git a/trunk/drivers/misc/Kconfig b/trunk/drivers/misc/Kconfig index a3c525b2616a..bfb02c1a45ae 100644 --- a/trunk/drivers/misc/Kconfig +++ b/trunk/drivers/misc/Kconfig @@ -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 diff --git a/trunk/drivers/misc/Makefile b/trunk/drivers/misc/Makefile index e32516459138..ece6baf76bc7 100644 --- a/trunk/drivers/misc/Makefile +++ b/trunk/drivers/misc/Makefile @@ -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 diff --git a/trunk/drivers/misc/blink.c b/trunk/drivers/misc/blink.c new file mode 100644 index 000000000000..634431ce1184 --- /dev/null +++ b/trunk/drivers/misc/blink.c @@ -0,0 +1,27 @@ +#include +#include +#include +#include + +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); +