usb: gadget: replace usb_gadget::is_dualspeed with max_speed

This commit replaces usb_gadget's is_dualspeed field with
a max_speed field.

[ balbi@ti.com : Fixed DWC3 driver ]

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Michal Nazarewicz 2011-11-19 18:27:37 +01:00 committed by Felipe Balbi
parent 7aac8d1537
commit d327ab5b6d
25 changed files with 68 additions and 35 deletions

View file

@ -535,6 +535,20 @@ Why: In 3.0, we can now autodetect internal 3G device and already have
information log when acer-wmi initial. information log when acer-wmi initial.
Who: Lee, Chun-Yi <jlee@novell.com> Who: Lee, Chun-Yi <jlee@novell.com>
---------------------------
What: /sys/devices/platform/_UDC_/udc/_UDC_/is_dualspeed file and
is_dualspeed line in /sys/devices/platform/ci13xxx_*/udc/device file.
When: 3.8
Why: The is_dualspeed file is superseded by maximum_speed in the same
directory and is_dualspeed line in device file is superseded by
max_speed line in the same file.
The maximum_speed/max_speed specifies maximum speed supported by UDC.
To check if dualspeeed is supported, check if the value is >= 3.
Various possible speeds are defined in <linux/usb/ch9.h>.
Who: Michal Nazarewicz <mina86@mina86.com>
---------------------------- ----------------------------
What: The XFS nodelaylog mount option What: The XFS nodelaylog mount option

View file

@ -1986,7 +1986,7 @@ int __devinit dwc3_gadget_init(struct dwc3 *dwc)
dev_set_name(&dwc->gadget.dev, "gadget"); dev_set_name(&dwc->gadget.dev, "gadget");
dwc->gadget.ops = &dwc3_gadget_ops; dwc->gadget.ops = &dwc3_gadget_ops;
dwc->gadget.is_dualspeed = true; dwc->gadget.max_speed = USB_SPEED_SUPER;
dwc->gadget.speed = USB_SPEED_UNKNOWN; dwc->gadget.speed = USB_SPEED_UNKNOWN;
dwc->gadget.dev.parent = dwc->dev; dwc->gadget.dev.parent = dwc->dev;

View file

@ -3349,7 +3349,7 @@ static int udc_probe(struct udc *dev)
dev_set_name(&dev->gadget.dev, "gadget"); dev_set_name(&dev->gadget.dev, "gadget");
dev->gadget.dev.release = gadget_release; dev->gadget.dev.release = gadget_release;
dev->gadget.name = name; dev->gadget.name = name;
dev->gadget.is_dualspeed = 1; dev->gadget.max_speed = USB_SPEED_HIGH;
/* init registers, interrupts, ... */ /* init registers, interrupts, ... */
startup_registers(dev); startup_registers(dev);

View file

@ -1038,7 +1038,7 @@ static struct usba_udc the_udc = {
.gadget = { .gadget = {
.ops = &usba_udc_ops, .ops = &usba_udc_ops,
.ep_list = LIST_HEAD_INIT(the_udc.gadget.ep_list), .ep_list = LIST_HEAD_INIT(the_udc.gadget.ep_list),
.is_dualspeed = 1, .max_speed = USB_SPEED_HIGH,
.name = "atmel_usba_udc", .name = "atmel_usba_udc",
.dev = { .dev = {
.init_name = "gadget", .init_name = "gadget",

View file

@ -766,8 +766,11 @@ static ssize_t show_device(struct device *dev, struct device_attribute *attr,
n += scnprintf(buf + n, PAGE_SIZE - n, "speed = %d\n", n += scnprintf(buf + n, PAGE_SIZE - n, "speed = %d\n",
gadget->speed); gadget->speed);
n += scnprintf(buf + n, PAGE_SIZE - n, "max_speed = %d\n",
gadget->max_speed);
/* TODO: Scheduled for removal in 3.8. */
n += scnprintf(buf + n, PAGE_SIZE - n, "is_dualspeed = %d\n", n += scnprintf(buf + n, PAGE_SIZE - n, "is_dualspeed = %d\n",
gadget->is_dualspeed); gadget_is_dualspeed(gadget));
n += scnprintf(buf + n, PAGE_SIZE - n, "is_otg = %d\n", n += scnprintf(buf + n, PAGE_SIZE - n, "is_otg = %d\n",
gadget->is_otg); gadget->is_otg);
n += scnprintf(buf + n, PAGE_SIZE - n, "is_a_peripheral = %d\n", n += scnprintf(buf + n, PAGE_SIZE - n, "is_a_peripheral = %d\n",
@ -2880,7 +2883,7 @@ static int udc_probe(struct ci13xxx_udc_driver *driver, struct device *dev,
udc->gadget.ops = &usb_gadget_ops; udc->gadget.ops = &usb_gadget_ops;
udc->gadget.speed = USB_SPEED_UNKNOWN; udc->gadget.speed = USB_SPEED_UNKNOWN;
udc->gadget.is_dualspeed = 1; udc->gadget.max_speed = USB_SPEED_HIGH;
udc->gadget.is_otg = 0; udc->gadget.is_otg = 0;
udc->gadget.name = driver->name; udc->gadget.name = driver->name;

View file

@ -977,7 +977,7 @@ static int dummy_udc_probe (struct platform_device *pdev)
dum->gadget.name = gadget_name; dum->gadget.name = gadget_name;
dum->gadget.ops = &dummy_ops; dum->gadget.ops = &dummy_ops;
dum->gadget.is_dualspeed = 1; dum->gadget.max_speed = USB_SPEED_SUPER;
dev_set_name(&dum->gadget.dev, "gadget"); dev_set_name(&dum->gadget.dev, "gadget");
dum->gadget.dev.parent = &pdev->dev; dum->gadget.dev.parent = &pdev->dev;

View file

@ -152,7 +152,7 @@ ep_matches (
switch (type) { switch (type) {
case USB_ENDPOINT_XFER_INT: case USB_ENDPOINT_XFER_INT:
/* INT: limit 64 bytes full speed, 1024 high/super speed */ /* INT: limit 64 bytes full speed, 1024 high/super speed */
if (!gadget->is_dualspeed && max > 64) if (!gadget_is_dualspeed(gadget) && max > 64)
return 0; return 0;
/* FALLTHROUGH */ /* FALLTHROUGH */
@ -160,12 +160,12 @@ ep_matches (
/* ISO: limit 1023 bytes full speed, 1024 high/super speed */ /* ISO: limit 1023 bytes full speed, 1024 high/super speed */
if (ep->maxpacket < max) if (ep->maxpacket < max)
return 0; return 0;
if (!gadget->is_dualspeed && max > 1023) if (!gadget_is_dualspeed(gadget) && max > 1023)
return 0; return 0;
/* BOTH: "high bandwidth" works only at high speed */ /* BOTH: "high bandwidth" works only at high speed */
if ((desc->wMaxPacketSize & cpu_to_le16(3<<11))) { if ((desc->wMaxPacketSize & cpu_to_le16(3<<11))) {
if (!gadget->is_dualspeed) if (!gadget_is_dualspeed(gadget))
return 0; return 0;
/* configure your hardware with enough buffering!! */ /* configure your hardware with enough buffering!! */
} }

View file

@ -2525,7 +2525,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
/* Setup gadget structure */ /* Setup gadget structure */
udc_controller->gadget.ops = &fsl_gadget_ops; udc_controller->gadget.ops = &fsl_gadget_ops;
udc_controller->gadget.is_dualspeed = 1; udc_controller->gadget.max_speed = USB_SPEED_HIGH;
udc_controller->gadget.ep0 = &udc_controller->eps[0].ep; udc_controller->gadget.ep0 = &udc_controller->eps[0].ep;
INIT_LIST_HEAD(&udc_controller->gadget.ep_list); INIT_LIST_HEAD(&udc_controller->gadget.ep_list);
udc_controller->gadget.speed = USB_SPEED_UNKNOWN; udc_controller->gadget.speed = USB_SPEED_UNKNOWN;

View file

@ -1463,7 +1463,7 @@ static int __init fusb300_probe(struct platform_device *pdev)
dev_set_name(&fusb300->gadget.dev, "gadget"); dev_set_name(&fusb300->gadget.dev, "gadget");
fusb300->gadget.is_dualspeed = 1; fusb300->gadget.max_speed = USB_SPEED_HIGH;
fusb300->gadget.dev.parent = &pdev->dev; fusb300->gadget.dev.parent = &pdev->dev;
fusb300->gadget.dev.dma_mask = pdev->dev.dma_mask; fusb300->gadget.dev.dma_mask = pdev->dev.dma_mask;
fusb300->gadget.dev.release = pdev->dev.release; fusb300->gadget.dev.release = pdev->dev.release;

View file

@ -1796,6 +1796,7 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
spin_lock_init(&dev->lock); spin_lock_init(&dev->lock);
dev->pdev = pdev; dev->pdev = pdev;
dev->gadget.ops = &goku_ops; dev->gadget.ops = &goku_ops;
dev->gadget.max_speed = USB_SPEED_FULL;
/* the "gadget" abstracts/virtualizes the controller */ /* the "gadget" abstracts/virtualizes the controller */
dev_set_name(&dev->gadget.dev, "gadget"); dev_set_name(&dev->gadget.dev, "gadget");

View file

@ -3267,7 +3267,7 @@ static int langwell_udc_probe(struct pci_dev *pdev,
dev->gadget.ep0 = &dev->ep[0].ep; /* gadget ep0 */ dev->gadget.ep0 = &dev->ep[0].ep; /* gadget ep0 */
INIT_LIST_HEAD(&dev->gadget.ep_list); /* ep_list */ INIT_LIST_HEAD(&dev->gadget.ep_list); /* ep_list */
dev->gadget.speed = USB_SPEED_UNKNOWN; /* speed */ dev->gadget.speed = USB_SPEED_UNKNOWN; /* speed */
dev->gadget.is_dualspeed = 1; /* support dual speed */ dev->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */
#ifdef OTG_TRANSCEIVER #ifdef OTG_TRANSCEIVER
dev->gadget.is_otg = 1; /* support otg mode */ dev->gadget.is_otg = 1; /* support otg mode */
#endif #endif

View file

@ -1653,7 +1653,7 @@ static int __init m66592_probe(struct platform_device *pdev)
m66592->gadget.ops = &m66592_gadget_ops; m66592->gadget.ops = &m66592_gadget_ops;
device_initialize(&m66592->gadget.dev); device_initialize(&m66592->gadget.dev);
dev_set_name(&m66592->gadget.dev, "gadget"); dev_set_name(&m66592->gadget.dev, "gadget");
m66592->gadget.is_dualspeed = 1; m66592->gadget.max_speed = USB_SPEED_HIGH;
m66592->gadget.dev.parent = &pdev->dev; m66592->gadget.dev.parent = &pdev->dev;
m66592->gadget.dev.dma_mask = pdev->dev.dma_mask; m66592->gadget.dev.dma_mask = pdev->dev.dma_mask;
m66592->gadget.dev.release = pdev->dev.release; m66592->gadget.dev.release = pdev->dev.release;

View file

@ -2312,7 +2312,7 @@ static int __devinit mv_udc_probe(struct platform_device *dev)
udc->gadget.ep0 = &udc->eps[0].ep; /* gadget ep0 */ udc->gadget.ep0 = &udc->eps[0].ep; /* gadget ep0 */
INIT_LIST_HEAD(&udc->gadget.ep_list); /* ep_list */ INIT_LIST_HEAD(&udc->gadget.ep_list); /* ep_list */
udc->gadget.speed = USB_SPEED_UNKNOWN; /* speed */ udc->gadget.speed = USB_SPEED_UNKNOWN; /* speed */
udc->gadget.is_dualspeed = 1; /* support dual speed */ udc->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */
/* the "gadget" abstracts/virtualizes the controller */ /* the "gadget" abstracts/virtualizes the controller */
dev_set_name(&udc->gadget.dev, "gadget"); dev_set_name(&udc->gadget.dev, "gadget");

View file

@ -2235,7 +2235,7 @@ net2272_probe_init(struct device *dev, unsigned int irq)
ret->irq = irq; ret->irq = irq;
ret->dev = dev; ret->dev = dev;
ret->gadget.ops = &net2272_ops; ret->gadget.ops = &net2272_ops;
ret->gadget.is_dualspeed = 1; ret->gadget.max_speed = USB_SPEED_HIGH;
/* the "gadget" abstracts/virtualizes the controller */ /* the "gadget" abstracts/virtualizes the controller */
dev_set_name(&ret->gadget.dev, "gadget"); dev_set_name(&ret->gadget.dev, "gadget");

View file

@ -2698,7 +2698,7 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
spin_lock_init (&dev->lock); spin_lock_init (&dev->lock);
dev->pdev = pdev; dev->pdev = pdev;
dev->gadget.ops = &net2280_ops; dev->gadget.ops = &net2280_ops;
dev->gadget.is_dualspeed = 1; dev->gadget.max_speed = USB_SPEED_HIGH;
/* the "gadget" abstracts/virtualizes the controller */ /* the "gadget" abstracts/virtualizes the controller */
dev_set_name(&dev->gadget.dev, "gadget"); dev_set_name(&dev->gadget.dev, "gadget");

View file

@ -2676,6 +2676,7 @@ omap_udc_setup(struct platform_device *odev, struct otg_transceiver *xceiv)
INIT_LIST_HEAD(&udc->gadget.ep_list); INIT_LIST_HEAD(&udc->gadget.ep_list);
INIT_LIST_HEAD(&udc->iso); INIT_LIST_HEAD(&udc->iso);
udc->gadget.speed = USB_SPEED_UNKNOWN; udc->gadget.speed = USB_SPEED_UNKNOWN;
udc->gadget.max_speed = USB_SPEED_FULL;
udc->gadget.name = driver_name; udc->gadget.name = driver_name;
device_initialize(&udc->gadget.dev); device_initialize(&udc->gadget.dev);

View file

@ -2941,7 +2941,7 @@ static int pch_udc_probe(struct pci_dev *pdev,
dev->gadget.dev.dma_mask = pdev->dev.dma_mask; dev->gadget.dev.dma_mask = pdev->dev.dma_mask;
dev->gadget.dev.release = gadget_release; dev->gadget.dev.release = gadget_release;
dev->gadget.name = KBUILD_MODNAME; dev->gadget.name = KBUILD_MODNAME;
dev->gadget.is_dualspeed = 1; dev->gadget.max_speed = USB_SPEED_HIGH;
retval = device_register(&dev->gadget.dev); retval = device_register(&dev->gadget.dev);
if (retval) if (retval)

View file

@ -1141,7 +1141,7 @@ printer_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
break; break;
#ifdef CONFIG_USB_GADGET_DUALSPEED #ifdef CONFIG_USB_GADGET_DUALSPEED
case USB_DT_DEVICE_QUALIFIER: case USB_DT_DEVICE_QUALIFIER:
if (!gadget->is_dualspeed) if (!gadget_is_dualspeed(gadget))
break; break;
/* /*
* assumes ep0 uses the same value for both * assumes ep0 uses the same value for both
@ -1155,7 +1155,7 @@ printer_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
break; break;
case USB_DT_OTHER_SPEED_CONFIG: case USB_DT_OTHER_SPEED_CONFIG:
if (!gadget->is_dualspeed) if (!gadget_is_dualspeed(gadget))
break; break;
/* FALLTHROUGH */ /* FALLTHROUGH */
#endif /* CONFIG_USB_GADGET_DUALSPEED */ #endif /* CONFIG_USB_GADGET_DUALSPEED */

View file

@ -1911,7 +1911,7 @@ static int __init r8a66597_probe(struct platform_device *pdev)
r8a66597->gadget.ops = &r8a66597_gadget_ops; r8a66597->gadget.ops = &r8a66597_gadget_ops;
dev_set_name(&r8a66597->gadget.dev, "gadget"); dev_set_name(&r8a66597->gadget.dev, "gadget");
r8a66597->gadget.is_dualspeed = 1; r8a66597->gadget.max_speed = USB_SPEED_HIGH;
r8a66597->gadget.dev.parent = &pdev->dev; r8a66597->gadget.dev.parent = &pdev->dev;
r8a66597->gadget.dev.dma_mask = pdev->dev.dma_mask; r8a66597->gadget.dev.dma_mask = pdev->dev.dma_mask;
r8a66597->gadget.dev.release = pdev->dev.release; r8a66597->gadget.dev.release = pdev->dev.release;

View file

@ -3362,7 +3362,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
dev_set_name(&hsotg->gadget.dev, "gadget"); dev_set_name(&hsotg->gadget.dev, "gadget");
hsotg->gadget.is_dualspeed = 1; hsotg->gadget.max_speed = USB_SPEED_HIGH;
hsotg->gadget.ops = &s3c_hsotg_gadget_ops; hsotg->gadget.ops = &s3c_hsotg_gadget_ops;
hsotg->gadget.name = dev_name(dev); hsotg->gadget.name = dev_name(dev);

View file

@ -1310,7 +1310,7 @@ static int s3c_hsudc_probe(struct platform_device *pdev)
device_initialize(&hsudc->gadget.dev); device_initialize(&hsudc->gadget.dev);
dev_set_name(&hsudc->gadget.dev, "gadget"); dev_set_name(&hsudc->gadget.dev, "gadget");
hsudc->gadget.is_dualspeed = 1; hsudc->gadget.max_speed = USB_SPEED_HIGH;
hsudc->gadget.ops = &s3c_hsudc_gadget_ops; hsudc->gadget.ops = &s3c_hsudc_gadget_ops;
hsudc->gadget.name = dev_name(dev); hsudc->gadget.name = dev_name(dev);
hsudc->gadget.dev.parent = dev; hsudc->gadget.dev.parent = dev;

View file

@ -371,14 +371,28 @@ static ssize_t usb_udc_softconn_store(struct device *dev,
} }
static DEVICE_ATTR(soft_connect, S_IWUSR, NULL, usb_udc_softconn_store); static DEVICE_ATTR(soft_connect, S_IWUSR, NULL, usb_udc_softconn_store);
static ssize_t usb_udc_speed_show(struct device *dev, #define USB_UDC_SPEED_ATTR(name, param) \
ssize_t usb_udc_##param##_show(struct device *dev, \
struct device_attribute *attr, char *buf) \
{ \
struct usb_udc *udc = container_of(dev, struct usb_udc, dev); \
return snprintf(buf, PAGE_SIZE, "%s\n", \
usb_speed_string(udc->gadget->param)); \
} \
static DEVICE_ATTR(name, S_IRUSR, usb_udc_##param##_show, NULL)
static USB_UDC_SPEED_ATTR(current_speed, speed);
static USB_UDC_SPEED_ATTR(maximum_speed, max_speed);
/* TODO: Scheduled for removal in 3.8. */
static ssize_t usb_udc_is_dualspeed_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct usb_udc *udc = container_of(dev, struct usb_udc, dev); struct usb_udc *udc = container_of(dev, struct usb_udc, dev);
return snprintf(buf, PAGE_SIZE, "%s\n", return snprintf(buf, PAGE_SIZE, "%d\n",
usb_speed_string(udc->gadget->speed)); gadget_is_dualspeed(udc->gadget));
} }
static DEVICE_ATTR(speed, S_IRUGO, usb_udc_speed_show, NULL); static DEVICE_ATTR(is_dualspeed, S_IRUSR, usb_udc_is_dualspeed_show, NULL);
#define USB_UDC_ATTR(name) \ #define USB_UDC_ATTR(name) \
ssize_t usb_udc_##name##_show(struct device *dev, \ ssize_t usb_udc_##name##_show(struct device *dev, \
@ -391,7 +405,6 @@ ssize_t usb_udc_##name##_show(struct device *dev, \
} \ } \
static DEVICE_ATTR(name, S_IRUGO, usb_udc_##name##_show, NULL) static DEVICE_ATTR(name, S_IRUGO, usb_udc_##name##_show, NULL)
static USB_UDC_ATTR(is_dualspeed);
static USB_UDC_ATTR(is_otg); static USB_UDC_ATTR(is_otg);
static USB_UDC_ATTR(is_a_peripheral); static USB_UDC_ATTR(is_a_peripheral);
static USB_UDC_ATTR(b_hnp_enable); static USB_UDC_ATTR(b_hnp_enable);
@ -401,7 +414,8 @@ static USB_UDC_ATTR(a_alt_hnp_support);
static struct attribute *usb_udc_attrs[] = { static struct attribute *usb_udc_attrs[] = {
&dev_attr_srp.attr, &dev_attr_srp.attr,
&dev_attr_soft_connect.attr, &dev_attr_soft_connect.attr,
&dev_attr_speed.attr, &dev_attr_current_speed.attr,
&dev_attr_maximum_speed.attr,
&dev_attr_is_dualspeed.attr, &dev_attr_is_dualspeed.attr,
&dev_attr_is_otg.attr, &dev_attr_is_otg.attr,

View file

@ -1844,7 +1844,7 @@ int __init musb_gadget_setup(struct musb *musb)
*/ */
musb->g.ops = &musb_gadget_operations; musb->g.ops = &musb_gadget_operations;
musb->g.is_dualspeed = 1; musb->g.max_speed = USB_SPEED_HIGH;
musb->g.speed = USB_SPEED_UNKNOWN; musb->g.speed = USB_SPEED_UNKNOWN;
/* this "gadget" abstracts/virtualizes the controller */ /* this "gadget" abstracts/virtualizes the controller */

View file

@ -862,7 +862,7 @@ int usbhs_mod_gadget_probe(struct usbhs_priv *priv)
gpriv->gadget.dev.parent = dev; gpriv->gadget.dev.parent = dev;
gpriv->gadget.name = "renesas_usbhs_udc"; gpriv->gadget.name = "renesas_usbhs_udc";
gpriv->gadget.ops = &usbhsg_gadget_ops; gpriv->gadget.ops = &usbhsg_gadget_ops;
gpriv->gadget.is_dualspeed = 1; gpriv->gadget.max_speed = USB_SPEED_HIGH;
ret = device_register(&gpriv->gadget.dev); ret = device_register(&gpriv->gadget.dev);
if (ret < 0) if (ret < 0)
goto err_add_udc; goto err_add_udc;

View file

@ -477,8 +477,8 @@ struct usb_gadget_ops {
* driver setup() requests * driver setup() requests
* @ep_list: List of other endpoints supported by the device. * @ep_list: List of other endpoints supported by the device.
* @speed: Speed of current connection to USB host. * @speed: Speed of current connection to USB host.
* @is_dualspeed: True if the controller supports both high and full speed * @max_speed: Maximal speed the UDC can handle. UDC must support this
* operation. If it does, the gadget driver must also support both. * and all slower speeds.
* @is_otg: True if the USB device port uses a Mini-AB jack, so that the * @is_otg: True if the USB device port uses a Mini-AB jack, so that the
* gadget driver must provide a USB OTG descriptor. * gadget driver must provide a USB OTG descriptor.
* @is_a_peripheral: False unless is_otg, the "A" end of a USB cable * @is_a_peripheral: False unless is_otg, the "A" end of a USB cable
@ -518,7 +518,7 @@ struct usb_gadget {
struct usb_ep *ep0; struct usb_ep *ep0;
struct list_head ep_list; /* of usb_ep */ struct list_head ep_list; /* of usb_ep */
enum usb_device_speed speed; enum usb_device_speed speed;
unsigned is_dualspeed:1; enum usb_device_speed max_speed;
unsigned is_otg:1; unsigned is_otg:1;
unsigned is_a_peripheral:1; unsigned is_a_peripheral:1;
unsigned b_hnp_enable:1; unsigned b_hnp_enable:1;
@ -549,7 +549,7 @@ static inline struct usb_gadget *dev_to_usb_gadget(struct device *dev)
static inline int gadget_is_dualspeed(struct usb_gadget *g) static inline int gadget_is_dualspeed(struct usb_gadget *g)
{ {
#ifdef CONFIG_USB_GADGET_DUALSPEED #ifdef CONFIG_USB_GADGET_DUALSPEED
/* runtime test would check "g->is_dualspeed" ... that might be /* runtime test would check "g->max_speed" ... that might be
* useful to work around hardware bugs, but is mostly pointless * useful to work around hardware bugs, but is mostly pointless
*/ */
return 1; return 1;
@ -567,7 +567,7 @@ static inline int gadget_is_superspeed(struct usb_gadget *g)
{ {
#ifdef CONFIG_USB_GADGET_SUPERSPEED #ifdef CONFIG_USB_GADGET_SUPERSPEED
/* /*
* runtime test would check "g->is_superspeed" ... that might be * runtime test would check "g->max_speed" ... that might be
* useful to work around hardware bugs, but is mostly pointless * useful to work around hardware bugs, but is mostly pointless
*/ */
return 1; return 1;