diff options
| author | Takashi Iwai <tiwai@suse.de> | 2014-09-22 10:12:16 +0200 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2014-09-22 10:12:16 +0200 | 
| commit | 7639913f7298ed23a3f026ebcbb3b4e8850bcc39 (patch) | |
| tree | 26f08f061535015b748a96106f4869560e3afc63 /fs/btrfs/async-thread.h | |
| parent | 4e9c58cb1219bcbcf6e698ed6541b275048bfa88 (diff) | |
| parent | f8fb117034847634bff8f02632151f7535981fa1 (diff) | |
Merge branch 'topic/hda-jack-rework' into for-next
This is a merge of rework of HD-audio jack event handling code.
It extends the jack table to allow multiple callbacks.
Diffstat (limited to 'fs/btrfs/async-thread.h')
| -rw-r--r-- | fs/btrfs/async-thread.h | 28 | 
1 files changed, 27 insertions, 1 deletions
diff --git a/fs/btrfs/async-thread.h b/fs/btrfs/async-thread.h index 9c6b66d15fb0..e9e31c94758f 100644 --- a/fs/btrfs/async-thread.h +++ b/fs/btrfs/async-thread.h @@ -19,12 +19,14 @@  #ifndef __BTRFS_ASYNC_THREAD_  #define __BTRFS_ASYNC_THREAD_ +#include <linux/workqueue.h>  struct btrfs_workqueue;  /* Internal use only */  struct __btrfs_workqueue;  struct btrfs_work;  typedef void (*btrfs_func_t)(struct btrfs_work *arg); +typedef void (*btrfs_work_func_t)(struct work_struct *arg);  struct btrfs_work {  	btrfs_func_t func; @@ -38,11 +40,35 @@ struct btrfs_work {  	unsigned long flags;  }; +#define BTRFS_WORK_HELPER_PROTO(name)					\ +void btrfs_##name(struct work_struct *arg) + +BTRFS_WORK_HELPER_PROTO(worker_helper); +BTRFS_WORK_HELPER_PROTO(delalloc_helper); +BTRFS_WORK_HELPER_PROTO(flush_delalloc_helper); +BTRFS_WORK_HELPER_PROTO(cache_helper); +BTRFS_WORK_HELPER_PROTO(submit_helper); +BTRFS_WORK_HELPER_PROTO(fixup_helper); +BTRFS_WORK_HELPER_PROTO(endio_helper); +BTRFS_WORK_HELPER_PROTO(endio_meta_helper); +BTRFS_WORK_HELPER_PROTO(endio_meta_write_helper); +BTRFS_WORK_HELPER_PROTO(endio_raid56_helper); +BTRFS_WORK_HELPER_PROTO(rmw_helper); +BTRFS_WORK_HELPER_PROTO(endio_write_helper); +BTRFS_WORK_HELPER_PROTO(freespace_write_helper); +BTRFS_WORK_HELPER_PROTO(delayed_meta_helper); +BTRFS_WORK_HELPER_PROTO(readahead_helper); +BTRFS_WORK_HELPER_PROTO(qgroup_rescan_helper); +BTRFS_WORK_HELPER_PROTO(extent_refs_helper); +BTRFS_WORK_HELPER_PROTO(scrub_helper); +BTRFS_WORK_HELPER_PROTO(scrubwrc_helper); +BTRFS_WORK_HELPER_PROTO(scrubnc_helper); +  struct btrfs_workqueue *btrfs_alloc_workqueue(const char *name,  					      int flags,  					      int max_active,  					      int thresh); -void btrfs_init_work(struct btrfs_work *work, +void btrfs_init_work(struct btrfs_work *work, btrfs_work_func_t helper,  		     btrfs_func_t func,  		     btrfs_func_t ordered_func,  		     btrfs_func_t ordered_free);  | 
