Commit f1d61e6e authored by Hannes Reinecke's avatar Hannes Reinecke Committed by Martin K. Petersen

scsi: libfc: Replace ->seq_set_resp callback with direct function call

The ->seq_set_resp callback only ever had one implementation,
so call it directly and drop the callback.
Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
Acked-by: default avatarJohannes Thumshirn <jth@kernel.org>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent c6865b30
...@@ -602,10 +602,9 @@ EXPORT_SYMBOL(fc_seq_start_next); ...@@ -602,10 +602,9 @@ EXPORT_SYMBOL(fc_seq_start_next);
* *
* Note: May sleep if invoked from outside a response handler. * Note: May sleep if invoked from outside a response handler.
*/ */
static void fc_seq_set_resp(struct fc_seq *sp, void fc_seq_set_resp(struct fc_seq *sp,
void (*resp)(struct fc_seq *, struct fc_frame *, void (*resp)(struct fc_seq *, struct fc_frame *, void *),
void *), void *arg)
void *arg)
{ {
struct fc_exch *ep = fc_seq_exch(sp); struct fc_exch *ep = fc_seq_exch(sp);
DEFINE_WAIT(wait); DEFINE_WAIT(wait);
...@@ -624,6 +623,7 @@ static void fc_seq_set_resp(struct fc_seq *sp, ...@@ -624,6 +623,7 @@ static void fc_seq_set_resp(struct fc_seq *sp,
ep->arg = arg; ep->arg = arg;
spin_unlock_bh(&ep->ex_lock); spin_unlock_bh(&ep->ex_lock);
} }
EXPORT_SYMBOL(fc_seq_set_resp);
/** /**
* fc_exch_abort_locked() - Abort an exchange * fc_exch_abort_locked() - Abort an exchange
...@@ -2650,9 +2650,6 @@ EXPORT_SYMBOL(fc_exch_recv); ...@@ -2650,9 +2650,6 @@ EXPORT_SYMBOL(fc_exch_recv);
*/ */
int fc_exch_init(struct fc_lport *lport) int fc_exch_init(struct fc_lport *lport)
{ {
if (!lport->tt.seq_set_resp)
lport->tt.seq_set_resp = fc_seq_set_resp;
if (!lport->tt.exch_mgr_reset) if (!lport->tt.exch_mgr_reset)
lport->tt.exch_mgr_reset = fc_exch_mgr_reset; lport->tt.exch_mgr_reset = fc_exch_mgr_reset;
......
...@@ -563,7 +563,7 @@ static void ft_send_work(struct work_struct *work) ...@@ -563,7 +563,7 @@ static void ft_send_work(struct work_struct *work)
task_attr = TCM_SIMPLE_TAG; task_attr = TCM_SIMPLE_TAG;
} }
fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd); fc_seq_set_resp(cmd->seq, ft_recv_seq, cmd);
cmd->se_cmd.tag = fc_seq_exch(cmd->seq)->rxid; cmd->se_cmd.tag = fc_seq_exch(cmd->seq)->rxid;
/* /*
* Use a single se_cmd->cmd_kref as we expect to release se_cmd * Use a single se_cmd->cmd_kref as we expect to release se_cmd
......
...@@ -514,16 +514,6 @@ struct libfc_function_template { ...@@ -514,16 +514,6 @@ struct libfc_function_template {
*/ */
void (*get_lesb)(struct fc_lport *, struct fc_els_lesb *lesb); void (*get_lesb)(struct fc_lport *, struct fc_els_lesb *lesb);
/*
* Set a response handler for the exchange of the sequence.
*
* STATUS: OPTIONAL
*/
void (*seq_set_resp)(struct fc_seq *sp,
void (*resp)(struct fc_seq *, struct fc_frame *,
void *),
void *arg);
/* /*
* Assign a sequence for an incoming request frame. * Assign a sequence for an incoming request frame.
* *
...@@ -1013,6 +1003,9 @@ struct fc_seq *fc_exch_seq_send(struct fc_lport *lport, ...@@ -1013,6 +1003,9 @@ struct fc_seq *fc_exch_seq_send(struct fc_lport *lport,
void fc_seq_els_rsp_send(struct fc_frame *, enum fc_els_cmd, void fc_seq_els_rsp_send(struct fc_frame *, enum fc_els_cmd,
struct fc_seq_els_data *); struct fc_seq_els_data *);
struct fc_seq *fc_seq_start_next(struct fc_seq *sp); struct fc_seq *fc_seq_start_next(struct fc_seq *sp);
void fc_seq_set_resp(struct fc_seq *sp,
void (*resp)(struct fc_seq *, struct fc_frame *, void *),
void *arg);
struct fc_exch_mgr_anchor *fc_exch_mgr_add(struct fc_lport *, struct fc_exch_mgr_anchor *fc_exch_mgr_add(struct fc_lport *,
struct fc_exch_mgr *, struct fc_exch_mgr *,
bool (*match)(struct fc_frame *)); bool (*match)(struct fc_frame *));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment