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

Commit 2bcb1b7d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Remove the blink driver



Yeah, we could have just disabled it, but there's work on a new one that
isn't as fundamentally broken, so there really doesn't seem to be any
point in keeping it around.

The recent timer cleanup broke the only valid use, and when I say
"valid", I obviously mean "totally broken".  So it's not like it works,
or really even can work in the current format that uses the unsafe
"panic" LED blinking routines..

Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 190045d5
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -187,13 +187,5 @@ 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
+0 −1
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ 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

deleted100644 → 0
+0 −45
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_panic_event(struct notifier_block *blk,
			     unsigned long event, void *arg)
{
	do_blink(0);
	return 0;
}

static struct notifier_block blink_notify = {
	.notifier_call = blink_panic_event,
};

static __init int blink_init(void)
{
	printk(KERN_INFO "Enabling keyboard blinking\n");
	atomic_notifier_chain_register(&panic_notifier_list, &blink_notify);
	return 0;
}

static __exit void blink_remove(void)
{
	del_timer_sync(&blink_timer);
	atomic_notifier_chain_unregister(&panic_notifier_list, &blink_notify);
}

module_init(blink_init);
module_exit(blink_remove);