mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
bsg: move bsg-lib parts outside of request queue
Get rid of the special bsg job fn and timeout handler, move them into a private bsg_set instead. Mostly from Christoph, with fixes for error handling and cleanups. Reviewed-by: Hannes Reinecke <hare@suse.com> Tested-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
4316b79e43
commit
1028e4b335
3 changed files with 31 additions and 22 deletions
|
@ -31,6 +31,9 @@ struct device;
|
|||
struct scatterlist;
|
||||
struct request_queue;
|
||||
|
||||
typedef int (bsg_job_fn) (struct bsg_job *);
|
||||
typedef enum blk_eh_timer_return (bsg_timeout_fn)(struct request *);
|
||||
|
||||
struct bsg_buffer {
|
||||
unsigned int payload_len;
|
||||
int sg_cnt;
|
||||
|
@ -72,7 +75,7 @@ struct bsg_job {
|
|||
void bsg_job_done(struct bsg_job *job, int result,
|
||||
unsigned int reply_payload_rcv_len);
|
||||
struct request_queue *bsg_setup_queue(struct device *dev, const char *name,
|
||||
bsg_job_fn *job_fn, rq_timed_out_fn *timeout, int dd_job_size);
|
||||
bsg_job_fn *job_fn, bsg_timeout_fn *timeout, int dd_job_size);
|
||||
void bsg_remove_queue(struct request_queue *q);
|
||||
void bsg_job_put(struct bsg_job *job);
|
||||
int __must_check bsg_job_get(struct bsg_job *job);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue