Commit af1d7056 authored by Felipe Balbi's avatar Felipe Balbi

usb: gadget: renesas: convert to new style

using udc_start()/udc_stop() as we should.
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 4cf5e00b
...@@ -730,10 +730,6 @@ static int usbhsg_try_stop(struct usbhs_priv *priv, u32 status) ...@@ -730,10 +730,6 @@ static int usbhsg_try_stop(struct usbhs_priv *priv, u32 status)
usbhsg_pipe_disable(dcp); usbhsg_pipe_disable(dcp);
if (gpriv->driver &&
gpriv->driver->disconnect)
gpriv->driver->disconnect(&gpriv->gadget);
dev_dbg(dev, "stop gadget\n"); dev_dbg(dev, "stop gadget\n");
return 0; return 0;
...@@ -744,31 +740,19 @@ static int usbhsg_try_stop(struct usbhs_priv *priv, u32 status) ...@@ -744,31 +740,19 @@ static int usbhsg_try_stop(struct usbhs_priv *priv, u32 status)
* linux usb function * linux usb function
* *
*/ */
static int usbhsg_gadget_start(struct usb_gadget_driver *driver, static int usbhsg_gadget_start(struct usb_gadget *gadget,
int (*bind)(struct usb_gadget *)) struct usb_gadget_driver *driver)
{ {
struct usbhsg_gpriv *gpriv; struct usbhsg_gpriv *gpriv = usbhsg_gadget_to_gpriv(gadget);
struct usbhs_priv *priv; struct usbhs_priv *priv;
struct device *dev; struct device *dev;
int ret; int ret;
if (!bind || if (!driver ||
!driver ||
!driver->setup || !driver->setup ||
driver->speed != USB_SPEED_HIGH) driver->speed != USB_SPEED_HIGH)
return -EINVAL; return -EINVAL;
/*
* find unused controller
*/
usbhsg_for_each_controller(gpriv) {
if (!gpriv->driver)
goto find_unused_controller;
}
return -ENODEV;
find_unused_controller:
dev = usbhsg_gpriv_to_dev(gpriv); dev = usbhsg_gpriv_to_dev(gpriv);
priv = usbhsg_gpriv_to_priv(gpriv); priv = usbhsg_gpriv_to_priv(gpriv);
...@@ -782,19 +766,8 @@ static int usbhsg_gadget_start(struct usb_gadget_driver *driver, ...@@ -782,19 +766,8 @@ static int usbhsg_gadget_start(struct usb_gadget_driver *driver,
goto add_fail; goto add_fail;
} }
ret = bind(&gpriv->gadget);
if (ret) {
dev_err(dev, "bind to driver %s error %d\n",
driver->driver.name, ret);
goto bind_fail;
}
dev_dbg(dev, "bind %s\n", driver->driver.name);
return usbhsg_try_start(priv, USBHSG_STATUS_REGISTERD); return usbhsg_try_start(priv, USBHSG_STATUS_REGISTERD);
bind_fail:
device_del(&gpriv->gadget.dev);
add_fail: add_fail:
gpriv->driver = NULL; gpriv->driver = NULL;
gpriv->gadget.dev.driver = NULL; gpriv->gadget.dev.driver = NULL;
...@@ -802,9 +775,10 @@ static int usbhsg_gadget_start(struct usb_gadget_driver *driver, ...@@ -802,9 +775,10 @@ static int usbhsg_gadget_start(struct usb_gadget_driver *driver,
return ret; return ret;
} }
static int usbhsg_gadget_stop(struct usb_gadget_driver *driver) static int usbhsg_gadget_stop(struct usb_gadget *gadget,
struct usb_gadget_driver *driver)
{ {
struct usbhsg_gpriv *gpriv; struct usbhsg_gpriv *gpriv = usbhsg_gadget_to_gpriv(gadget);
struct usbhs_priv *priv; struct usbhs_priv *priv;
struct device *dev; struct device *dev;
...@@ -812,17 +786,6 @@ static int usbhsg_gadget_stop(struct usb_gadget_driver *driver) ...@@ -812,17 +786,6 @@ static int usbhsg_gadget_stop(struct usb_gadget_driver *driver)
!driver->unbind) !driver->unbind)
return -EINVAL; return -EINVAL;
/*
* find controller
*/
usbhsg_for_each_controller(gpriv) {
if (gpriv->driver == driver)
goto find_matching_controller;
}
return -ENODEV;
find_matching_controller:
dev = usbhsg_gpriv_to_dev(gpriv); dev = usbhsg_gpriv_to_dev(gpriv);
priv = usbhsg_gpriv_to_priv(gpriv); priv = usbhsg_gpriv_to_priv(gpriv);
...@@ -830,12 +793,6 @@ static int usbhsg_gadget_stop(struct usb_gadget_driver *driver) ...@@ -830,12 +793,6 @@ static int usbhsg_gadget_stop(struct usb_gadget_driver *driver)
device_del(&gpriv->gadget.dev); device_del(&gpriv->gadget.dev);
gpriv->driver = NULL; gpriv->driver = NULL;
if (driver->disconnect)
driver->disconnect(&gpriv->gadget);
driver->unbind(&gpriv->gadget);
dev_dbg(dev, "unbind %s\n", driver->driver.name);
return 0; return 0;
} }
...@@ -852,8 +809,8 @@ static int usbhsg_get_frame(struct usb_gadget *gadget) ...@@ -852,8 +809,8 @@ static int usbhsg_get_frame(struct usb_gadget *gadget)
static struct usb_gadget_ops usbhsg_gadget_ops = { static struct usb_gadget_ops usbhsg_gadget_ops = {
.get_frame = usbhsg_get_frame, .get_frame = usbhsg_get_frame,
.start = usbhsg_gadget_start, .udc_start = usbhsg_gadget_start,
.stop = usbhsg_gadget_stop, .udc_stop = usbhsg_gadget_stop,
}; };
static int usbhsg_start(struct usbhs_priv *priv) static int usbhsg_start(struct usbhs_priv *priv)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment