Lines Matching refs:key

51 	return (long)site->key + (long)&site->key;  in __static_call_key()
72 site->key = (__static_call_key(site) | STATIC_CALL_SITE_INIT) - in static_call_set_init()
73 (long)&site->key; in static_call_set_init()
100 a->key = b->key - delta; in static_call_site_swap()
103 b->key = tmp.key + delta; in static_call_site_swap()
113 static inline bool static_call_key_has_mods(struct static_call_key *key) in static_call_key_has_mods() argument
115 return !(key->type & 1); in static_call_key_has_mods()
118 static inline struct static_call_mod *static_call_key_next(struct static_call_key *key) in static_call_key_next() argument
120 if (!static_call_key_has_mods(key)) in static_call_key_next()
123 return key->mods; in static_call_key_next()
126 static inline struct static_call_site *static_call_key_sites(struct static_call_key *key) in static_call_key_sites() argument
128 if (static_call_key_has_mods(key)) in static_call_key_sites()
131 return (struct static_call_site *)(key->type & ~1); in static_call_key_sites()
134 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
142 if (key->func == func) in __static_call_update()
145 key->func = func; in __static_call_update()
157 .next = static_call_key_next(key), in __static_call_update()
159 .sites = static_call_key_sites(key), in __static_call_update()
188 site < stop && static_call_key(site) == key; site++) { in __static_call_update()
225 struct static_call_key *key, *prev_key = NULL; in __static_call_init() local
240 key = static_call_key(site); in __static_call_init()
241 if (key != prev_key) { in __static_call_init()
242 prev_key = key; in __static_call_init()
253 key->sites = site; in __static_call_init()
254 key->type |= 1; in __static_call_init()
267 if (static_call_key_sites(key)) { in __static_call_init()
270 site_mod->sites = static_call_key_sites(key); in __static_call_init()
272 key->mods = site_mod; in __static_call_init()
281 site_mod->next = static_call_key_next(key); in __static_call_init()
282 key->mods = site_mod; in __static_call_init()
286 arch_static_call_transform(site_addr, NULL, key->func, in __static_call_init()
358 return (long)tramp_key->key + (long)&tramp_key->key; in tramp_key_lookup()
373 unsigned long key; in static_call_add_module() local
389 key = tramp_key_lookup(addr); in static_call_add_module()
390 if (!key) { in static_call_add_module()
396 key |= s_key & STATIC_CALL_SITE_FLAGS; in static_call_add_module()
397 site->key = key - (long)&site->key; in static_call_add_module()
408 struct static_call_key *key, *prev_key = NULL; in static_call_del_module() local
413 key = static_call_key(site); in static_call_del_module()
414 if (key == prev_key) in static_call_del_module()
417 prev_key = key; in static_call_del_module()
419 for (prev = &key->mods, site_mod = key->mods; in static_call_del_module()