aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>2011-01-28 19:05:27 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-02-12 12:09:04 -0500
commit75a2792df296c77004a72056c76628a1f835bc93 (patch)
tree767bafd5718fc112d440bf3d8d1369eeb1d557e9 /include/scsi
parentacc1a921659561c4ea97eca6e3c2633adecbcd81 (diff)
[SCSI] libfc: introduce LLD event callback
This patch enables LLD to listen to rport events and perform LLD specific operations based on the rport event. This patch also stores sp_features and spp_type in rdata for further reference by LLD. Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/libfc.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index 6d64e44bc3bf..24193c1b0da0 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -158,6 +158,7 @@ struct fc_rport_libfc_priv {
158 #define FC_RP_FLAGS_REC_SUPPORTED (1 << 0) 158 #define FC_RP_FLAGS_REC_SUPPORTED (1 << 0)
159 #define FC_RP_FLAGS_RETRY (1 << 1) 159 #define FC_RP_FLAGS_RETRY (1 << 1)
160 #define FC_RP_STARTED (1 << 2) 160 #define FC_RP_STARTED (1 << 2)
161 #define FC_RP_FLAGS_CONF_REQ (1 << 3)
161 unsigned int e_d_tov; 162 unsigned int e_d_tov;
162 unsigned int r_a_tov; 163 unsigned int r_a_tov;
163}; 164};
@@ -207,6 +208,11 @@ struct fc_rport_priv {
207 u32 supported_classes; 208 u32 supported_classes;
208 u16 prli_count; 209 u16 prli_count;
209 struct rcu_head rcu; 210 struct rcu_head rcu;
211 u16 sp_features;
212 u8 spp_type;
213 void (*lld_event_callback)(struct fc_lport *,
214 struct fc_rport_priv *,
215 enum fc_rport_event);
210}; 216};
211 217
212/** 218/**
@@ -677,6 +683,15 @@ struct libfc_function_template {
677 void (*rport_destroy)(struct kref *); 683 void (*rport_destroy)(struct kref *);
678 684
679 /* 685 /*
686 * Callback routine after the remote port is logged in
687 *
688 * STATUS: OPTIONAL
689 */
690 void (*rport_event_callback)(struct fc_lport *,
691 struct fc_rport_priv *,
692 enum fc_rport_event);
693
694 /*
680 * Send a fcp cmd from fsp pkt. 695 * Send a fcp cmd from fsp pkt.
681 * Called with the SCSI host lock unlocked and irqs disabled. 696 * Called with the SCSI host lock unlocked and irqs disabled.
682 * 697 *