Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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

drivers/misc/blink.c

0 → 100644
+27 −0
Original line number Diff line number Diff line
#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);