usb: gadget: pxa27x_udc: transfer mach_info into pxa_udc
authorRobert Jarzmik <robert.jarzmik@free.fr>
Wed, 1 Oct 2014 20:06:15 +0000 (22:06 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 3 Nov 2014 16:00:57 +0000 (10:00 -0600)
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
drivers/usb/gadget/udc/pxa27x_udc.h

index d58319765021856df1037c9a2f405b9b44e60a5c..5280f64683fbe3a95492d8497329bc9b976a64f9 100644 (file)
@@ -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);
index f02569324ee68c2d68d29523c15a62aeae11b7a4..11e14232794b55a5fe2f75dc22b1f325578507e2 100644 (file)
@@ -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;