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: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
190045d53b
commit
2bcb1b7de9
3 changed files with 0 additions and 54 deletions
|
@ -187,13 +187,5 @@ 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,7 +7,6 @@ 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
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
#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);
|
|
||||||
|
|
Loading…
Reference in a new issue