/Linux-2.6.29/kernel/power/ |-consoleearlysuspend.c |-earlysuspend.c |-fbearlysuspend.c |-userwakelock.c |-wakelock.c |
static void console_early_suspend(struct early_suspend *h); static void console_late_resume(struct early_suspend *h); static int __init console_early_suspend_init(void); static void __exit console_early_suspend_exit(void); |
static struct early_suspend console_early_suspend_desc = { .level = EARLY_SUSPEND_LEVEL_STOP_DRAWING, .suspend = console_early_suspend, .resume = console_late_resume, }; |
void register_early_suspend(struct early_suspend *handler); void unregister_early_suspend(struct early_suspend *handler); static void early_suspend(struct work_struct *work); static void late_resume(struct work_struct *work); void request_suspend_state(suspend_state_t new_state); suspend_state_t get_suspend_state(void); |
EXPORT_SYMBOL(register_early_suspend); EXPORT_SYMBOL(unregister_early_suspend); |
#ifdef CONFIG_HAS_EARLYSUSPEND void register_early_suspend(struct early_suspend *handler); void unregister_early_suspend(struct early_suspend *handler); |
static void stop_drawing_early_suspend(struct early_suspend *h); static void start_drawing_late_resume(struct early_suspend *h); static ssize_t wait_for_fb_sleep_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf); static ssize_t wait_for_fb_wake_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf); static int __init android_power_init(void); static void __exit android_power_exit(void) |
static struct early_suspend stop_drawing_early_suspend_desc = { .level = EARLY_SUSPEND_LEVEL_STOP_DRAWING, .suspend = stop_drawing_early_suspend, .resume = start_drawing_late_resume, }; |
/** * __wake_up - wake up threads blocked on a waitqueue. * @q: the waitqueue * @mode: which threads * @nr_exclusive: how many wake-one or wake-many threads to wake up * @key: is directly passed to the wakeup function */ void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr_exclusive, void *key) { unsigned long flags; spin_lock_irqsave(&q->lock, flags); __wake_up_common(q, mode, nr_exclusive, 0, key); spin_unlock_irqrestore(&q->lock, flags); } |
static struct user_wake_lock *lookup_wake_lock_name(const char *buf, int allocate, long *timeoutptr); ssize_t wake_lock_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf); ssize_t ssixe_t wake_lock_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t n); ssize_t wake_unlock_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf); ssize_t wake_unlock_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t n); |
EXPORT_SYMBOL(wake_lock_init); EXPORT_SYMBOL(wake_lock_destroy); EXPORT_SYMBOL(wake_lock); EXPORT_SYMBOL(wake_lock_timeout); EXPORT_SYMBOL(wake_unlock); EXPORT_SYMBOL(wake_lock_active); |
欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/) | Powered by Discuz! X3.2 |