Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

async: rename and redefine async_func_ptr

A function type is typically defined as
typedef ret_type (*func)(args..)

but async_func_ptr is not. Redefine it.

Also rename async_func_ptr to async_func_t for _func_t suffix is more generic.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>

authored by

Lai Jiangshan and committed by
Tejun Heo
362f2b09 cc2a8b1a

+14 -14
+1 -1
arch/sh/drivers/pci/pcie-sh7786.c
··· 35 35 36 36 static struct sh7786_pcie_hwops { 37 37 int (*core_init)(void); 38 - async_func_ptr *port_init_hw; 38 + async_func_t port_init_hw; 39 39 } *sh7786_pcie_hwops; 40 40 41 41 static struct resource sh7786_pci0_resources[] = {
+3 -3
include/linux/async.h
··· 16 16 #include <linux/list.h> 17 17 18 18 typedef u64 async_cookie_t; 19 - typedef void (async_func_ptr) (void *data, async_cookie_t cookie); 19 + typedef void (*async_func_t) (void *data, async_cookie_t cookie); 20 20 struct async_domain { 21 21 struct list_head pending; 22 22 unsigned registered:1; ··· 37 37 struct async_domain _name = { .pending = LIST_HEAD_INIT(_name.pending), \ 38 38 .registered = 0 } 39 39 40 - extern async_cookie_t async_schedule(async_func_ptr *ptr, void *data); 41 - extern async_cookie_t async_schedule_domain(async_func_ptr *ptr, void *data, 40 + extern async_cookie_t async_schedule(async_func_t func, void *data); 41 + extern async_cookie_t async_schedule_domain(async_func_t func, void *data, 42 42 struct async_domain *domain); 43 43 void async_unregister_domain(struct async_domain *domain); 44 44 extern void async_synchronize_full(void);
+10 -10
kernel/async.c
··· 73 73 struct list_head global_list; 74 74 struct work_struct work; 75 75 async_cookie_t cookie; 76 - async_func_ptr *func; 76 + async_func_t func; 77 77 void *data; 78 78 struct async_domain *domain; 79 79 }; ··· 145 145 wake_up(&async_done); 146 146 } 147 147 148 - static async_cookie_t __async_schedule(async_func_ptr *ptr, void *data, struct async_domain *domain) 148 + static async_cookie_t __async_schedule(async_func_t func, void *data, struct async_domain *domain) 149 149 { 150 150 struct async_entry *entry; 151 151 unsigned long flags; ··· 165 165 spin_unlock_irqrestore(&async_lock, flags); 166 166 167 167 /* low on memory.. run synchronously */ 168 - ptr(data, newcookie); 168 + func(data, newcookie); 169 169 return newcookie; 170 170 } 171 171 INIT_LIST_HEAD(&entry->domain_list); 172 172 INIT_LIST_HEAD(&entry->global_list); 173 173 INIT_WORK(&entry->work, async_run_entry_fn); 174 - entry->func = ptr; 174 + entry->func = func; 175 175 entry->data = data; 176 176 entry->domain = domain; 177 177 ··· 198 198 199 199 /** 200 200 * async_schedule - schedule a function for asynchronous execution 201 - * @ptr: function to execute asynchronously 201 + * @func: function to execute asynchronously 202 202 * @data: data pointer to pass to the function 203 203 * 204 204 * Returns an async_cookie_t that may be used for checkpointing later. 205 205 * Note: This function may be called from atomic or non-atomic contexts. 206 206 */ 207 - async_cookie_t async_schedule(async_func_ptr *ptr, void *data) 207 + async_cookie_t async_schedule(async_func_t func, void *data) 208 208 { 209 - return __async_schedule(ptr, data, &async_dfl_domain); 209 + return __async_schedule(func, data, &async_dfl_domain); 210 210 } 211 211 EXPORT_SYMBOL_GPL(async_schedule); 212 212 213 213 /** 214 214 * async_schedule_domain - schedule a function for asynchronous execution within a certain domain 215 - * @ptr: function to execute asynchronously 215 + * @func: function to execute asynchronously 216 216 * @data: data pointer to pass to the function 217 217 * @domain: the domain 218 218 * ··· 222 222 * synchronization domain is specified via @domain. Note: This function 223 223 * may be called from atomic or non-atomic contexts. 224 224 */ 225 - async_cookie_t async_schedule_domain(async_func_ptr *ptr, void *data, 225 + async_cookie_t async_schedule_domain(async_func_t func, void *data, 226 226 struct async_domain *domain) 227 227 { 228 - return __async_schedule(ptr, data, domain); 228 + return __async_schedule(func, data, domain); 229 229 } 230 230 EXPORT_SYMBOL_GPL(async_schedule_domain); 231 231