aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/davinci.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-03-01 11:44:20 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-03-01 11:44:20 -0500
commit15e68a803573974409972e761d8f08f03fce5bdb (patch)
tree5a7ff8f06da629bd59101718f27b157912c141be /drivers/usb/musb/davinci.c
parentf7c96f59b4af72f51c7835ed073da820bc3786b3 (diff)
parent39287076e46d2c19aaceaa6f0a44168ae4d257ec (diff)
Merge tag 'musb-for-v3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
USB: MUSB changes for 3.4 Here are a set of changes to the MUSB driver. In summary we have a patch making modules behave better, there's a fix on debugfs' error path, a small change removing an unnecessary pm_runtime call on musb_shutdown() and a fix to relesect the endpoint in Interrupt context. This last patch is needed because we must drop musb's lock when calling request->complete() and that could cause problems if another thread queues a request and ends up changing MUSB_INDEX register.
Diffstat (limited to 'drivers/usb/musb/davinci.c')
-rw-r--r--drivers/usb/musb/davinci.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
index 7c569f51212a..0ba3e75285cf 100644
--- a/drivers/usb/musb/davinci.c
+++ b/drivers/usb/musb/davinci.c
@@ -511,7 +511,7 @@ static const struct musb_platform_ops davinci_ops = {
511 511
512static u64 davinci_dmamask = DMA_BIT_MASK(32); 512static u64 davinci_dmamask = DMA_BIT_MASK(32);
513 513
514static int __init davinci_probe(struct platform_device *pdev) 514static int __devinit davinci_probe(struct platform_device *pdev)
515{ 515{
516 struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data; 516 struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
517 struct platform_device *musb; 517 struct platform_device *musb;
@@ -594,7 +594,7 @@ err0:
594 return ret; 594 return ret;
595} 595}
596 596
597static int __exit davinci_remove(struct platform_device *pdev) 597static int __devexit davinci_remove(struct platform_device *pdev)
598{ 598{
599 struct davinci_glue *glue = platform_get_drvdata(pdev); 599 struct davinci_glue *glue = platform_get_drvdata(pdev);
600 600
@@ -608,7 +608,8 @@ static int __exit davinci_remove(struct platform_device *pdev)
608} 608}
609 609
610static struct platform_driver davinci_driver = { 610static struct platform_driver davinci_driver = {
611 .remove = __exit_p(davinci_remove), 611 .probe = davinci_probe,
612 .remove = __devexit_p(davinci_remove),
612 .driver = { 613 .driver = {
613 .name = "musb-davinci", 614 .name = "musb-davinci",
614 }, 615 },
@@ -620,9 +621,9 @@ MODULE_LICENSE("GPL v2");
620 621
621static int __init davinci_init(void) 622static int __init davinci_init(void)
622{ 623{
623 return platform_driver_probe(&davinci_driver, davinci_probe); 624 return platform_driver_register(&davinci_driver);
624} 625}
625subsys_initcall(davinci_init); 626module_init(davinci_init);
626 627
627static void __exit davinci_exit(void) 628static void __exit davinci_exit(void)
628{ 629{