Skip to content

Commit

Permalink
blink driver power saving
Browse files Browse the repository at this point in the history
The blink driver wakes up every jiffies which wastes power unnecessarily.
Using a notifier gives same effect. Also add ability to unload module.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
[ We should really just delete the whole thing. The blink driver is
  broken in many other ways too  -Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Stephen Hemminger authored and Linus Torvalds committed Jul 1, 2007
1 parent 4710bcc commit 0f4915b
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions drivers/misc/blink.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,30 @@ static void do_blink(unsigned long data)
add_timer(&blink_timer);
}

static int blink_init(void)
static int blink_panic_event(struct notifier_block *blk,
unsigned long event, void *arg)
{
printk(KERN_INFO "Enabling keyboard blinking\n");
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);

0 comments on commit 0f4915b

Please sign in to comment.