summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-21 13:48:07 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-21 13:48:07 -0700
commit691a55998cc2fc645b51d28edb4f4d36b512826e (patch)
tree6674dcece28f885d1063771461a8f5a7fa9f0d1b /drivers/usb/musb/musb_core.c
parentcce7496d3d5910a003109207f9737c3be658aa1a (diff)
parenteaea04353e0114a9805fc2cf1ff832cb0ac2570b (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: sisusbvga: add USB ID for 0711:0918 Magic Control Technology Corp. USB: automatically enable RHSC interrupts USB: Don't rebind before "complete" callback USB: Add new PM callback methods for USB USB: Defer Set-Interface for suspended devices USB: Add udev argument to interface suspend/resume functions USB: cdc-acm: don't unlock acm->mutex on error path MUSB: Fix index register corruption seen with g_ether and Windows host usb: musb: get rid of MUSB_LOGLEVEL and use parameter usb: musb: get rid of procfs entry USB: Fix pxa27x_udc usb speed handling. USB: cdc-acm: quirk for Conexant CX93010 USB modem USB: fix bug in usb_unlink_anchored_urbs() usb-serial: option support HSDPA modem A2502 USB: ISP1760: fixed trivial math in comment
Diffstat (limited to 'drivers/usb/musb/musb_core.c')
-rw-r--r--drivers/usb/musb/musb_core.c38
1 files changed, 15 insertions, 23 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index d68ec6daf33..c5b8f0296fc 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -114,23 +114,14 @@
-#if MUSB_DEBUG > 0
-unsigned debug = MUSB_DEBUG;
-module_param(debug, uint, 0);
-MODULE_PARM_DESC(debug, "initial debug message level");
-
-#define MUSB_VERSION_SUFFIX "/dbg"
-#endif
+unsigned debug;
+module_param(debug, uint, S_IRUGO | S_IWUSR);
+MODULE_PARM_DESC(debug, "Debug message level. Default = 0");
#define DRIVER_AUTHOR "Mentor Graphics, Texas Instruments, Nokia"
#define DRIVER_DESC "Inventra Dual-Role USB Controller Driver"
-#define MUSB_VERSION_BASE "6.0"
-
-#ifndef MUSB_VERSION_SUFFIX
-#define MUSB_VERSION_SUFFIX ""
-#endif
-#define MUSB_VERSION MUSB_VERSION_BASE MUSB_VERSION_SUFFIX
+#define MUSB_VERSION "6.0"
#define DRIVER_INFO DRIVER_DESC ", v" MUSB_VERSION
@@ -2037,6 +2028,8 @@ bad_config:
musb->xceiv.state = OTG_STATE_A_IDLE;
status = usb_add_hcd(musb_to_hcd(musb), -1, 0);
+ if (status)
+ goto fail;
DBG(1, "%s mode, status %d, devctl %02x %c\n",
"HOST", status,
@@ -2051,6 +2044,8 @@ bad_config:
musb->xceiv.state = OTG_STATE_B_IDLE;
status = musb_gadget_setup(musb);
+ if (status)
+ goto fail;
DBG(1, "%s mode, status %d, dev%02x\n",
is_otg_enabled(musb) ? "OTG" : "PERIPHERAL",
@@ -2059,16 +2054,14 @@ bad_config:
}
- if (status == 0)
- musb_debug_create("driver/musb_hdrc", musb);
- else {
+ return 0;
+
fail:
- if (musb->clock)
- clk_put(musb->clock);
- device_init_wakeup(dev, 0);
- musb_free(musb);
- return status;
- }
+ if (musb->clock)
+ clk_put(musb->clock);
+ device_init_wakeup(dev, 0);
+ musb_free(musb);
+ return status;
#ifdef CONFIG_SYSFS
status = device_create_file(dev, &dev_attr_mode);
@@ -2131,7 +2124,6 @@ static int __devexit musb_remove(struct platform_device *pdev)
* - OTG mode: both roles are deactivated (or never-activated)
*/
musb_shutdown(pdev);
- musb_debug_delete("driver/musb_hdrc", musb);
#ifdef CONFIG_USB_MUSB_HDRC_HCD
if (musb->board_mode == MUSB_HOST)
usb_remove_hcd(musb_to_hcd(musb));