forked from luck/tmp_suning_uos_patched
usb: fixes for v3.9-rc3
Most fixes are on 'musb' driver. There's a sparse warning fix which marks omap2430_glue as static, a build warning fix which was found with randconfig, a fix for omap_musb_mailbox check and removal of 'select' from musb's Kconfig to prevent Kconfig warnings. Other than that, pxa25x got a fix which was introduced by the latest conversion to udc_start/udc_stop patchset, kernel-doc warnings for composite layer and dwc3 got a build fix on sparc64. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJRPbnGAAoJEIaOsuA1yqREp/EP/1eT/s06O41ZsB+lVSdB08Ge fBW48qBdVETN7RIsPIi/gFiZ/uUj4/yA9Jt1H/sEG1GIX0UalB1SbosWHbzSyih3 rC9vZk9al1ChOHVDGmxJai+F+ertRy69Ez4nrV2J0U/54dXn+cyI9kYR+KbYJF5V mb7ISJnTLN6jDBqvWOb8H7QAg+KGcJaWXjLV+x96g+i1shaWOmJWto15/ZEO88Qn Ui/ZJTzRcoYsaljcHUN3N87Ybk6HyR/vU+b4TD//G1hh9dFAOwzCNoUxkpHoJbic F9Hv40eQ9oSVGth3FaTDSGPyGM2sgvFuS8BP2+vRvfdnJvmDHx1kmdLiuT5jtbMD +7TStucbiCNZneKLw0di/Oz+wWESt1y6nOVRwo6cgBMcU+9ZJV06tOBZu1A6+fT1 ptLxug8wUpx9iLkYZk8qj74PYiNW0RW0ye8R6c+sMP2fdXIwQPVXqu+zUa42OLXM tHUNmcpOtFlLMwaLuMTLH68vuJ3RwrlBwpbYG0RQfncJrHl6E8xH/KLR/80xxAX8 w5RDliUX5LGKxR/bLACv4H2mluEkq65ipgH7rySu9IRYJp3z71NNjEE1kp2NBSDG v/VpBVrX9KkFIncvR55+eaedl0oUQgyI9k4m0mZesc0s7Snjx85ILmX0agbY53tR u4+RmnvH6dauAIgEyHbF =8Fnj -----END PGP SIGNATURE----- Merge tag 'fixes-for-v3.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fixes for v3.9-rc3 Most fixes are on 'musb' driver. There's a sparse warning fix which marks omap2430_glue as static, a build warning fix which was found with randconfig, a fix for omap_musb_mailbox check and removal of 'select' from musb's Kconfig to prevent Kconfig warnings. Other than that, pxa25x got a fix which was introduced by the latest conversion to udc_start/udc_stop patchset, kernel-doc warnings for composite layer and dwc3 got a build fix on sparc64. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
commit
4fa42e897d
|
@ -891,7 +891,8 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc,
|
|||
DWC3_TRBCTL_CONTROL_DATA);
|
||||
} else if (!IS_ALIGNED(req->request.length, dep->endpoint.maxpacket)
|
||||
&& (dep->number == 0)) {
|
||||
u32 transfer_size;
|
||||
u32 transfer_size;
|
||||
u32 maxpacket;
|
||||
|
||||
ret = usb_gadget_map_request(&dwc->gadget, &req->request,
|
||||
dep->number);
|
||||
|
@ -902,8 +903,8 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc,
|
|||
|
||||
WARN_ON(req->request.length > DWC3_EP0_BOUNCE_SIZE);
|
||||
|
||||
transfer_size = roundup(req->request.length,
|
||||
(u32) dep->endpoint.maxpacket);
|
||||
maxpacket = dep->endpoint.maxpacket;
|
||||
transfer_size = roundup(req->request.length, maxpacket);
|
||||
|
||||
dwc->ep0_bounced = true;
|
||||
|
||||
|
|
|
@ -1757,10 +1757,7 @@ static const struct usb_gadget_driver composite_driver_template = {
|
|||
/**
|
||||
* usb_composite_probe() - register a composite driver
|
||||
* @driver: the driver to register
|
||||
* @bind: the callback used to allocate resources that are shared across the
|
||||
* whole device, such as string IDs, and add its configurations using
|
||||
* @usb_add_config(). This may fail by returning a negative errno
|
||||
* value; it should return zero on successful initialization.
|
||||
*
|
||||
* Context: single threaded during gadget setup
|
||||
*
|
||||
* This function is used to register drivers using the composite driver
|
||||
|
|
|
@ -1303,6 +1303,10 @@ stop_activity(struct pxa25x_udc *dev, struct usb_gadget_driver *driver)
|
|||
}
|
||||
del_timer_sync(&dev->timer);
|
||||
|
||||
/* report disconnect; the driver is already quiesced */
|
||||
if (driver)
|
||||
driver->disconnect(&dev->gadget);
|
||||
|
||||
/* re-init driver-visible data structures */
|
||||
udc_reinit(dev);
|
||||
}
|
||||
|
|
|
@ -7,9 +7,6 @@
|
|||
config USB_MUSB_HDRC
|
||||
tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
|
||||
depends on USB && USB_GADGET
|
||||
select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
|
||||
select NOP_USB_XCEIV if (SOC_TI81XX || SOC_AM33XX)
|
||||
select OMAP_CONTROL_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
|
||||
select USB_OTG_UTILS
|
||||
help
|
||||
Say Y here if your system has a dual role high speed USB
|
||||
|
@ -49,8 +46,6 @@ config USB_MUSB_TUSB6010
|
|||
config USB_MUSB_OMAP2PLUS
|
||||
tristate "OMAP2430 and onwards"
|
||||
depends on ARCH_OMAP2PLUS
|
||||
select TWL4030_USB if MACH_OMAP_3430SDP
|
||||
select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
|
||||
|
||||
config USB_MUSB_AM35X
|
||||
tristate "AM35x"
|
||||
|
|
|
@ -1968,11 +1968,9 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|||
if (status < 0)
|
||||
goto fail4;
|
||||
|
||||
#ifdef CONFIG_SYSFS
|
||||
status = sysfs_create_group(&musb->controller->kobj, &musb_attr_group);
|
||||
if (status)
|
||||
goto fail5;
|
||||
#endif
|
||||
|
||||
pm_runtime_put(musb->controller);
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ struct omap2430_glue {
|
|||
};
|
||||
#define glue_to_musb(g) platform_get_drvdata(g->musb)
|
||||
|
||||
struct omap2430_glue *_glue;
|
||||
static struct omap2430_glue *_glue;
|
||||
|
||||
static struct timer_list musb_idle_timer;
|
||||
|
||||
|
@ -237,9 +237,13 @@ void omap_musb_mailbox(enum omap_musb_vbus_id_status status)
|
|||
{
|
||||
struct omap2430_glue *glue = _glue;
|
||||
|
||||
if (glue && glue_to_musb(glue)) {
|
||||
glue->status = status;
|
||||
} else {
|
||||
if (!glue) {
|
||||
pr_err("%s: musb core is not yet initialized\n", __func__);
|
||||
return;
|
||||
}
|
||||
glue->status = status;
|
||||
|
||||
if (!glue_to_musb(glue)) {
|
||||
pr_err("%s: musb core is not yet ready\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ struct usb_configuration;
|
|||
* @name: For diagnostics, identifies the function.
|
||||
* @strings: tables of strings, keyed by identifiers assigned during bind()
|
||||
* and by language IDs provided in control requests
|
||||
* @descriptors: Table of full (or low) speed descriptors, using interface and
|
||||
* @fs_descriptors: Table of full (or low) speed descriptors, using interface and
|
||||
* string identifiers assigned during @bind(). If this pointer is null,
|
||||
* the function will not be available at full speed (or at low speed).
|
||||
* @hs_descriptors: Table of high speed descriptors, using interface and
|
||||
|
@ -290,6 +290,7 @@ enum {
|
|||
* after function notifications
|
||||
* @resume: Notifies configuration when the host restarts USB traffic,
|
||||
* before function notifications
|
||||
* @gadget_driver: Gadget driver controlling this driver
|
||||
*
|
||||
* Devices default to reporting self powered operation. Devices which rely
|
||||
* on bus powered operation should report this in their @bind method.
|
||||
|
|
Loading…
Reference in New Issue
Block a user