summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/udc
diff options
context:
space:
mode:
authorRobert Jarzmik <robert.jarzmik@free.fr>2014-10-01 22:06:15 +0200
committerFelipe Balbi <balbi@ti.com>2014-11-03 17:00:57 +0100
commit3ec8347bfa6e671666d04fc62c8302f5ffa344ba (patch)
treefacd467a29d70a109e1e865fc22a878f080e3529 /drivers/usb/gadget/udc
parentusb: gadget: pxa27x_udc: prepare device-tree support (diff)
downloadlinux-3ec8347bfa6e671666d04fc62c8302f5ffa344ba.tar.xz
linux-3ec8347bfa6e671666d04fc62c8302f5ffa344ba.zip
usb: gadget: pxa27x_udc: transfer mach_info into pxa_udc
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>
Diffstat (limited to 'drivers/usb/gadget/udc')
-rw-r--r--drivers/usb/gadget/udc/pxa27x_udc.c10
-rw-r--r--drivers/usb/gadget/udc/pxa27x_udc.h4
2 files changed, 7 insertions, 7 deletions
diff --git a/drivers/usb/gadget/udc/pxa27x_udc.c b/drivers/usb/gadget/udc/pxa27x_udc.c
index d58319765021..5280f64683fb 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 f02569324ee6..11e14232794b 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;