Re: [PATCHv2] usb: gadget: get rid of USB_GADGET_DUALSPEED and USB_GADGET_SUPERSPEED

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/17/2011 11:33 PM, Michal Nazarewicz wrote:
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -1559,12 +1559,6 @@ composite_resume(struct usb_gadget *gadget)

 /*-------------------------------------------------------------------------*/

 static struct usb_gadget_driver composite_driver = {
-#ifdef CONFIG_USB_GADGET_SUPERSPEED
-       .speed          = USB_SPEED_SUPER,
-#else
-       .speed          = USB_SPEED_HIGH,
-#endif
-
        .unbind         = composite_unbind,

        .setup          = composite_setup,
@@ -1609,8 +1603,7 @@ int usb_composite_probe(struct usb_composite_driver
*driver,
                driver->iProduct = driver->name;
        composite_driver.function =  (char *) driver->name;
        composite_driver.driver.name = driver->name;
-       composite_driver.speed = min((u8)composite_driver.speed,
-                                    (u8)driver->max_speed);
+       composite_driver.speed = driver->max_speed;

On Thu, 18 Aug 2011 05:01:11 +0200, Yang Rui Rui wrote:
This does not works, many drivers will check the driver->speed, ie in
musg_gadget.c

On Thu, Aug 18, 2011 at 7:57 PM, Michal Nazarewicz wrote:
Uh? Not sure what you mean here. Note that driver above is not the same
structure as driver below.  composite_driver is what musb_gadget_start()
will get.

On Thu, 18 Aug 2011 15:24:07 +0200, Dave Young wrote:
For example I  got -EINVAL in musb_gadget_start in case
composite_driver.speed = USB_SPEED_SUPER

For anything other then g_ether and g_zero, the speed should be set to
USB_SPEED_HIGH.  Unless this is somehow related to what Alan said about
this code.

the driver param is the composite_driver in composite.c, isn't it?

Yes.

static int musb_gadget_start(struct usb_gadget *g,
                struct usb_gadget_driver *driver)
{
        struct musb             *musb = gadget_to_musb(g);
        unsigned long           flags;
        int                     retval = -EINVAL;

        if (driver->speed != USB_SPEED_HIGH)
                goto err0;
[snip]

        composite = driver;
        composite_gadget_bind = bind;

--
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michal "mina86" Nazarewicz    (o o)
ooo +-----<email/xmpp: mnazarewicz@xxxxxxxxxx>-----ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux