[SCSI] fcoe: prep work to completely remove fc_transport_fcoe code

The fcoe transport code was added for generic FCoE transport
infrastructure to allow additional offload related module loading
on demand, this is not required anymore after recently added
different offload approach by having offload related func ops
in netdev.

This patch removes fcoe transport related code use, calls functions
directly between existing libfcoe.c and fcoe_sw.c for now, for
example fcoe_sw_destroy and fcoe_sw_create calling.

The fcoe_sw.c and libfcoe.c code will be further consolidated in
later patches and then also the default fcoe sw transport code
file fcoe_sw.c will be completely removed.

The fcoe transport code files are completely removed in next
patch to keep this patch simple for reviewing.

[This patch is an update to a previous patch. This update
resolves a build error as well as fixes a defect related to
not calling fc_release_transport().]

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index 951d244..334db95 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -44,7 +44,6 @@
 #include <scsi/libfc.h>
 #include <scsi/fc_frame.h>
 #include <scsi/libfcoe.h>
-#include <scsi/fc_transport_fcoe.h>
 
 static int debug_fcoe;
 
@@ -1081,10 +1080,9 @@
 		rc = -ENODEV;
 		goto out_putdev;
 	}
-	/* pass to transport */
-	rc = fcoe_transport_release(netdev);
+	rc = fcoe_sw_destroy(netdev);
 	if (rc) {
-		printk(KERN_ERR "fcoe: fcoe_transport_release(%s) failed\n",
+		printk(KERN_ERR "fcoe: fcoe_sw_destroy(%s) failed\n",
 		       netdev->name);
 		rc = -EIO;
 		goto out_putdev;
@@ -1121,10 +1119,9 @@
 	}
 	fcoe_ethdrv_get(netdev);
 
-	/* pass to transport */
-	rc = fcoe_transport_attach(netdev);
+	rc = fcoe_sw_create(netdev);
 	if (rc) {
-		printk(KERN_ERR "fcoe: fcoe_transport_attach(%s) failed\n",
+		printk(KERN_ERR "fcoe: fcoe_sw_create(%s) failed\n",
 		       netdev->name);
 		fcoe_ethdrv_put(netdev);
 		rc = -EIO;
@@ -1429,10 +1426,6 @@
 /**
  * fcoe_init() - fcoe module loading initialization
  *
- * Initialization routine
- * 1. Will create fc transport software structure
- * 2. initialize the link list of port information structure
- *
  * Returns 0 on success, negative on failure
  */
 static int __init fcoe_init(void)
@@ -1464,9 +1457,6 @@
 
 	mod_timer(&fcoe_timer, jiffies + (10 * HZ));
 
-	/* initiatlize the fcoe transport */
-	fcoe_transport_init();
-
 	fcoe_sw_init();
 
 	return 0;
@@ -1495,9 +1485,9 @@
 	/* Stop the timer */
 	del_timer_sync(&fcoe_timer);
 
-	/* releases the associated fcoe transport for each lport */
+	/* releases the associated fcoe hosts */
 	list_for_each_entry_safe(fc, tmp, &fcoe_hostlist, list)
-		fcoe_transport_release(fc->real_dev);
+		fcoe_sw_destroy(fc->real_dev);
 
 	unregister_hotcpu_notifier(&fcoe_cpu_notifier);
 
@@ -1507,8 +1497,5 @@
 
 	/* remove sw trasnport */
 	fcoe_sw_exit();
-
-	/* detach the transport */
-	fcoe_transport_exit();
 }
 module_exit(fcoe_exit);