scsi: libfc: Replace ->rport_recv_req callback with function call
authorHannes Reinecke <hare@suse.de>
Tue, 18 Oct 2016 08:01:45 +0000 (10:01 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Nov 2016 22:29:55 +0000 (17:29 -0500)
The ->rport_recv_req callback only ever had one implementation,
so we can as well call it directly and drop the callback.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Acked-by: Johannes Thumshirn <jth@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libfc/fc_lport.c
drivers/scsi/libfc/fc_rport.c
include/scsi/libfc.h

index a391cb160f4bbbf384bd9106e8e9e443c7f7cf83..937a442cc70eb739ccf099c01a9cd1a714161d62 100644 (file)
@@ -902,7 +902,7 @@ static void fc_lport_recv_els_req(struct fc_lport *lport,
                /*
                 * Check opcode.
                 */
-               recv = lport->tt.rport_recv_req;
+               recv = fc_rport_recv_req;
                switch (fc_frame_payload_op(fp)) {
                case ELS_FLOGI:
                        if (!lport->point_to_multipoint)
index 22c8c928ee2b9eb370dc8b6741d4984dfdaf7d21..feae7abf05c337abf7c44571d6088b45b66512d5 100644 (file)
@@ -1786,7 +1786,7 @@ busy:
  *
  * Reference counting: does not modify kref
  */
-static void fc_rport_recv_req(struct fc_lport *lport, struct fc_frame *fp)
+void fc_rport_recv_req(struct fc_lport *lport, struct fc_frame *fp)
 {
        struct fc_seq_els_data els_data;
 
@@ -1823,6 +1823,7 @@ static void fc_rport_recv_req(struct fc_lport *lport, struct fc_frame *fp)
                break;
        }
 }
+EXPORT_SYMBOL(fc_rport_recv_req);
 
 /**
  * fc_rport_recv_plogi_req() - Handler for Port Login (PLOGI) requests
@@ -2185,9 +2186,6 @@ static void fc_rport_flush_queue(void)
  */
 int fc_rport_init(struct fc_lport *lport)
 {
-       if (!lport->tt.rport_recv_req)
-               lport->tt.rport_recv_req = fc_rport_recv_req;
-
        if (!lport->tt.rport_flush_queue)
                lport->tt.rport_flush_queue = fc_rport_flush_queue;
 
index b75a1820d226d1f733b6c37d3194ca733e40c35e..1e1dbc94d54a4f0940661a2c12c582a685e91bee 100644 (file)
@@ -609,13 +609,6 @@ struct libfc_function_template {
        void (*lport_set_port_id)(struct fc_lport *, u32 port_id,
                                  struct fc_frame *);
 
-       /*
-        * Receive a request from a remote port.
-        *
-        * STATUS: OPTIONAL
-        */
-       void (*rport_recv_req)(struct fc_lport *, struct fc_frame *);
-
        /*
         * Callback routine after the remote port is logged in
         *
@@ -1000,6 +993,7 @@ struct fc_rport_priv *fc_rport_create(struct fc_lport *, u32);
 void fc_rport_destroy(struct kref *kref);
 int fc_rport_login(struct fc_rport_priv *rdata);
 int fc_rport_logoff(struct fc_rport_priv *rdata);
+void fc_rport_recv_req(struct fc_lport *lport, struct fc_frame *fp);
 
 /*
  * DISCOVERY LAYER