[14/67] usb: gadget: pxa27x_udc: transfer mach_info into pxa_udc

Message ID 1413566234-13537-15-git-send-email-balbi@ti.com
State Accepted
Commit 3ec8347bfa6e671666d04fc62c8302f5ffa344ba
Headers show

Commit Message

Felipe Balbi Oct. 17, 2014, 5:16 p.m.
From: Robert Jarzmik <robert.jarzmik@free.fr>

Convert the mach info, and store the udc_command in the pxa_udc control
structure.

It is to be noticed that the udc_is_connected() in mach info is not
transfered. This was not used, as mioa701 machine doesn't need it,
balloon3 doesn't really use it, and most importantly the current driver
never uses it.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Felipe Balbi <balbi@ti.com>
---
 drivers/usb/gadget/udc/pxa27x_udc.c | 10 +++++-----
 drivers/usb/gadget/udc/pxa27x_udc.h |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

Patch

diff --git a/drivers/usb/gadget/udc/pxa27x_udc.c b/drivers/usb/gadget/udc/pxa27x_udc.c
index d583197..5280f64 100644
--- a/drivers/usb/gadget/udc/pxa27x_udc.c
+++ b/drivers/usb/gadget/udc/pxa27x_udc.c
@@ -1510,11 +1510,11 @@  static void dplus_pullup(struct pxa_udc *udc, int on)
 {
 	if (udc->gpiod) {
 		gpiod_set_value(udc->gpiod, on);
-	} else if (udc->mach && udc->mach->udc_command) {
+	} else if (udc->udc_command) {
 		if (on)
-			udc->mach->udc_command(PXA2XX_UDC_CMD_CONNECT);
+			udc->udc_command(PXA2XX_UDC_CMD_CONNECT);
 		else
-			udc->mach->udc_command(PXA2XX_UDC_CMD_DISCONNECT);
+			udc->udc_command(PXA2XX_UDC_CMD_DISCONNECT);
 	}
 	udc->pullup_on = on;
 }
@@ -1605,7 +1605,7 @@  static int pxa_udc_pullup(struct usb_gadget *_gadget, int is_active)
 {
 	struct pxa_udc *udc = to_gadget_udc(_gadget);
 
-	if (!udc->gpiod && !udc->mach->udc_command)
+	if (!udc->gpiod && !udc->udc_command)
 		return -EOPNOTSUPP;
 
 	dplus_pullup(udc, is_active);
@@ -2426,7 +2426,7 @@  static int pxa_udc_probe(struct platform_device *pdev)
 				return retval;
 			udc->gpiod = gpio_to_desc(mach->gpio_pullup);
 		}
-		udc->mach = mach;
+		udc->udc_command = mach->udc_command;
 	}
 
 	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
diff --git a/drivers/usb/gadget/udc/pxa27x_udc.h b/drivers/usb/gadget/udc/pxa27x_udc.h
index f025693..11e1423 100644
--- a/drivers/usb/gadget/udc/pxa27x_udc.h
+++ b/drivers/usb/gadget/udc/pxa27x_udc.h
@@ -420,7 +420,7 @@  struct udc_stats {
  * @usb_gadget: udc gadget structure
  * @driver: bound gadget (zero, g_ether, g_mass_storage, ...)
  * @dev: device
- * @mach: machine info, used to activate specific GPIO
+ * @udc_command: machine specific function to activate D+ pullup
  * @gpiod: gpio descriptor of gpio for D+ pullup (or NULL if none)
  * @transceiver: external transceiver to handle vbus sense and D+ pullup
  * @ep0state: control endpoint state machine state
@@ -447,7 +447,7 @@  struct pxa_udc {
 	struct usb_gadget			gadget;
 	struct usb_gadget_driver		*driver;
 	struct device				*dev;
-	struct pxa2xx_udc_mach_info		*mach;
+	void					(*udc_command)(int);
 	struct gpio_desc			*gpiod;
 	struct usb_phy				*transceiver;