greybus: drop hd arg from submit_gbuf method

Every gbuf is associated with a connection when it is created.  And
a connection contains a pointer to the host device that will carry
messages.  So there's no need for the submit_gbuf() method to have
the host device pointer passed to it, the function can get it from
the gbuf's connection.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/staging/greybus/es1-ap-usb.c b/drivers/staging/greybus/es1-ap-usb.c
index 2405670..5acf5a7 100644
--- a/drivers/staging/greybus/es1-ap-usb.c
+++ b/drivers/staging/greybus/es1-ap-usb.c
@@ -206,9 +206,9 @@
 	return urb;
 }
 
-static int submit_gbuf(struct gbuf *gbuf, struct greybus_host_device *hd,
-		       gfp_t gfp_mask)
+static int submit_gbuf(struct gbuf *gbuf, gfp_t gfp_mask)
 {
+	struct greybus_host_device *hd = gbuf->connection->hd;
 	struct es1_ap_dev *es1 = hd_to_es1(hd);
 	struct usb_device *udev = es1->usb_dev;
 	int retval;
diff --git a/drivers/staging/greybus/gbuf.c b/drivers/staging/greybus/gbuf.c
index a33dbb4..6580deb 100644
--- a/drivers/staging/greybus/gbuf.c
+++ b/drivers/staging/greybus/gbuf.c
@@ -105,7 +105,7 @@
 {
 	struct greybus_host_device *hd = gbuf->connection->hd;
 
-	return hd->driver->submit_gbuf(gbuf, hd, gfp_mask);
+	return hd->driver->submit_gbuf(gbuf, gfp_mask);
 }
 
 int greybus_kill_gbuf(struct gbuf *gbuf)
diff --git a/drivers/staging/greybus/greybus.h b/drivers/staging/greybus/greybus.h
index 39ccdc4..033c7ab 100644
--- a/drivers/staging/greybus/greybus.h
+++ b/drivers/staging/greybus/greybus.h
@@ -169,8 +169,7 @@
 	void (*free_gbuf_data)(struct gbuf *gbuf);
 	int (*submit_svc)(struct svc_msg *svc_msg,
 			    struct greybus_host_device *hd);
-	int (*submit_gbuf)(struct gbuf *gbuf, struct greybus_host_device *hd,
-			   gfp_t gfp_mask);
+	int (*submit_gbuf)(struct gbuf *gbuf, gfp_t gfp_mask);
 };
 
 struct greybus_host_device {