[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070701125035.3f54d8b0@oldman>
Date: Sun, 1 Jul 2007 12:50:35 -0400
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...l.org>, Andi Kleen <ak@...e.de>
Cc: linux-kernel@...r.kernel.org
Subject: blink driver power saving
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@...ux-foundation.org>
--- a/drivers/misc/blink.c 2007-06-29 22:56:20.000000000 -0400
+++ b/drivers/misc/blink.c 2007-07-01 12:44:37.000000000 -0400
@@ -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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists