Commit d8bfbf6e authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Greg Kroah-Hartman

staging/westbridge: convert cyasgadget to new udc core

This is not compile tested as I failed at it. I added an #if 0 block
because I did not find the struct device of the device.
Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6f480bf9
...@@ -1595,12 +1595,18 @@ static int cyasgadget_ioctl( ...@@ -1595,12 +1595,18 @@ static int cyasgadget_ioctl(
return 0; return 0;
} }
static int cyasgadget_start(struct usb_gadget_driver *driver,
int (*bind)(struct usb_gadget *));
static int cyasgadget_stop(struct usb_gadget_driver *driver);
static const struct usb_gadget_ops cyasgadget_ops = { static const struct usb_gadget_ops cyasgadget_ops = {
.get_frame = cyasgadget_get_frame, .get_frame = cyasgadget_get_frame,
.wakeup = cyasgadget_wakeup, .wakeup = cyasgadget_wakeup,
.set_selfpowered = cyasgadget_set_selfpowered, .set_selfpowered = cyasgadget_set_selfpowered,
.pullup = cyasgadget_pullup, .pullup = cyasgadget_pullup,
.ioctl = cyasgadget_ioctl, .ioctl = cyasgadget_ioctl,
.start = cyasgadget_start,
.stop = cyasgadget_stop,
}; };
...@@ -1883,7 +1889,7 @@ static void cyas_ep0_start( ...@@ -1883,7 +1889,7 @@ static void cyas_ep0_start(
* disconnect is reported. then a host may connect again, or * disconnect is reported. then a host may connect again, or
* the driver might get unbound. * the driver might get unbound.
*/ */
int usb_gadget_probe_driver(struct usb_gadget_driver *driver, static int cyasgadget_start(struct usb_gadget_driver *driver,
int (*bind)(struct usb_gadget *)) int (*bind)(struct usb_gadget *))
{ {
cyasgadget *dev = cy_as_gadget_controller; cyasgadget *dev = cy_as_gadget_controller;
...@@ -1938,7 +1944,6 @@ int usb_gadget_probe_driver(struct usb_gadget_driver *driver, ...@@ -1938,7 +1944,6 @@ int usb_gadget_probe_driver(struct usb_gadget_driver *driver,
return 0; return 0;
} }
EXPORT_SYMBOL(usb_gadget_probe_driver);
static void cyasgadget_nuke( static void cyasgadget_nuke(
cyasgadget_ep *an_ep cyasgadget_ep *an_ep
...@@ -2011,7 +2016,7 @@ static void cyasgadget_stop_activity( ...@@ -2011,7 +2016,7 @@ static void cyasgadget_stop_activity(
#endif #endif
} }
int usb_gadget_unregister_driver( static int cyasgadget_stop(
struct usb_gadget_driver *driver struct usb_gadget_driver *driver
) )
{ {
...@@ -2040,7 +2045,6 @@ int usb_gadget_unregister_driver( ...@@ -2040,7 +2045,6 @@ int usb_gadget_unregister_driver(
return 0; return 0;
} }
EXPORT_SYMBOL(usb_gadget_unregister_driver);
static void cyas_gadget_release( static void cyas_gadget_release(
struct device *_dev struct device *_dev
...@@ -2071,6 +2075,7 @@ static void cyasgadget_deinit( ...@@ -2071,6 +2075,7 @@ static void cyasgadget_deinit(
#endif #endif
return; return;
} }
usb_del_gadget_udc(&cy_as_dev->gadget);
if (cy_as_dev->driver) { if (cy_as_dev->driver) {
/* should have been done already by driver model core */ /* should have been done already by driver model core */
...@@ -2131,6 +2136,13 @@ static int cyasgadget_initialize(void) ...@@ -2131,6 +2136,13 @@ static int cyasgadget_initialize(void)
/* We are done now */ /* We are done now */
cy_as_gadget_controller = cy_as_dev; cy_as_gadget_controller = cy_as_dev;
#if 0
pdev is the platform_device or pci_device or whatever is used here
retval = usb_add_gadget_udc(&pdev->dev, &cy_as_dev->gadget);
if (retval)
goto done;
#endif
return 0; return 0;
/* /*
......
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