函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\power\wakelock.c Create Date:2022-07-27 11:04:27
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:wakelock_lookup_add

函数原型:static struct wakelock *wakelock_lookup_add(const char *name, size_t len, bool add_if_not_found)

返回类型:struct wakelock

参数:

类型参数名称
const char *name
size_tlen
booladd_if_not_found
153  node等于rb_node
154  parent等于node
157 node循环
160  parent等于node
161  wl等于rb_entry( * node, structwakelock, node)
162  diff等于字符串指定长度比较
163  如果diff恒等于0则
164  如果name[len]则diff等于负1
166  否则返回:wl
169  如果diff小于0则node等于rb_left
171  否则node等于rb_right
174  如果非add_if_not_found则返回:错误号
177  如果wakelocks_limit_exceeded()则返回:错误号
181  wl等于分配内存并置零
182  如果非wl则返回:错误号
185  name等于kstrndup(name, len, GFP_KERNEL)
186  如果非name
187  释放内存
188  返回:错误号
191  ws等于wakeup_source_register(NULL, name)
192  如果非ws
193  释放内存
194  释放内存
195  返回:错误号
197  last_time等于ktime_get()
199  rb_link_node( & node, parent, node)
200  rb_insert_color( & node, & wakelocks_tree)
201  wakelocks_lru_add(wl)
202  increment_wakelocks_number()
203  返回:wl
调用者
名称描述
pm_wake_lock
pm_wake_unlock