summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mfd: TWL6030: USBOTG VBUS event generation onHema HK2010-12-101-1/+8
| | | | | | | | | | | | | | | | | With TWL6030-usb, VBUS SESS_VLD and SESS_END events are not generated as expected. When these interrupts are enabled, charger VBUS detection interrupt does not get generated. So USBOTG has to be dependent on charger VBUS interrupts. So added one bit for USBOTG and changed the handler to call the USBOTG handler whenever there is a charger VBUS interrpt. VBUS SESS_VLD and SESS_END event generation issue is under debug with HW team. This fix might not be required once after fixing the issue. Signed-off-by: Balaji TK <balajitk@ti.com> Signed-off-by: Hema HK <hemahk@ti.com> Cc: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: add support for ux500 platformMian Yousaf Kaukab2010-12-104-1/+225
| | | | | | | | Initial support for u8500 and u5500 platform. Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* musb: am35x: fix compile error due to control apisAjay Kumar Gupta2010-12-103-85/+146
| | | | | | | | | | | | commit 4814ced5116e3b73dc4f63eec84999739fc8ed11 (OMAP: control: move plat-omap/control.h to mach-omap2/control.h) moved <plat/control.h> to another location, preventing drivers from accessing it, so we need to pass function pointers from arch code to be able to talk to internal PHY on AM35x. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* arm: omap4: enable usb on 4430sdpFelipe Balbi2010-12-101-3/+1
| | | | | | | Let musb work on 4430sdp as well. We can now test any problems with multi-omap builds. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: drop board_set_vbusFelipe Balbi2010-12-107-15/+0
| | | | | | that's not used anymore. So let's drop it. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: drop musb_platform_suspend/resumeFelipe Balbi2010-12-102-25/+0
| | | | | | | | | | | | | all glue layers are now fully moved to the new setup. We are now using dev_pm_ops to implement suspend/resume functionality and thus, musb_platform_suspend/resume has become deprecated and useless. This patch drops those function pointers and its uses. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: blackfin: usb dev_pm_ops structureFelipe Balbi2010-12-101-24/+40
| | | | | | | | | instead of using musb_platform_suspend_resume, we can use dev_pm_ops and let platform_device core handle when to call musb_core's suspend and glue layer's suspend. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: am35x: usb dev_pm_ops structureFelipe Balbi2010-12-101-17/+45
| | | | | | | | | instead of using musb_platform_suspend_resume, we can use dev_pm_ops and let platform_device core handle when to call musb_core's suspend and glue layer's suspend. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: omap2430: use dev_pm_ops structureFelipe Balbi2010-12-101-59/+87
| | | | | | | | | instead of using musb_platform_suspend/resume, we can use dev_pm_ops and let the platform_device core handle when to call musb_core's suspend and glue layer's suspend. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: omap2430: drop the nopsFelipe Balbi2010-12-101-11/+0
| | | | | | we don't need those nops, so drop them. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: mark musb_save/restore_context staticFelipe Balbi2010-12-101-2/+2
| | | | | | | those aren't used outside musb_core.c, so mark them as static. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: drop musb_platform_save/restore_contextFelipe Balbi2010-12-105-38/+30
| | | | | | | ... that can be easily folded into the musb_platform_suspend/resume calls. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: drop the set_clock magicFelipe Balbi2010-12-102-5/+0
| | | | | | | | now that platform glue layer handles clock completely, that function is completely useless for us. Drop it. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: move clock handling to glue layerFelipe Balbi2010-12-1010-131/+146
| | | | | | | | | musb core doesn't need to know about platform specific details. So start moving clock handling to platform glue layer and make musb core agnostic about that. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: mark ->set_clock deprecatedFelipe Balbi2010-12-101-1/+1
| | | | | | | | | ... we will completely drop that need by moving clock handling to platform glue layer. Marking as deprecated will allow us to catch all users easily. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: pass platform_ops via platform_dataFelipe Balbi2010-12-109-9/+22
| | | | | | | ... then we don't need to export any symbols from glue layer to musb_core. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: blackfin: give it a context structureFelipe Balbi2010-12-101-9/+28
| | | | | | | | | | that structure currently only holds a device pointer to our own platform_device and musb's platform_device, but soon it will hold pointers to our clock structures and glue-specific bits and pieces. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: da8xx: give it a context structureFelipe Balbi2010-12-101-9/+28
| | | | | | | | | | that structure currently only holds a device pointer to our own platform_device and musb's platform_device, but soon it will hold pointers to our clock structures and glue-specific bits and pieces. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: davinci: give it a context structureFelipe Balbi2010-12-101-9/+28
| | | | | | | | | | that structure currently only holds a device pointer to our own platform_device and musb's platform_device, but soon it will hold pointers to our clock structures and glue-specific bits and pieces. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: tusb6010: give it a context structureFelipe Balbi2010-12-101-8/+27
| | | | | | | | | | that structure currently only holds a device pointer to our own platform_device and musb's platform_device, but soon it will hold pointers to our clock structures and glue-specific bits and pieces. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: am35x: give it a context structureFelipe Balbi2010-12-101-9/+28
| | | | | | | | | | that structure currently only holds a device pointer to our own platform_device and musb's platform_device, but soon it will hold pointers to our clock structures and glue-specific bits and pieces. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: omap2430: give it a context structureFelipe Balbi2010-12-101-9/+28
| | | | | | | | | | that structure currently only holds a device pointer to our own platform_device and musb's platform_device, but soon it will hold pointers to our clock structures and glue-specific bits and pieces. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split blackfin to its own platform_driverFelipe Balbi2010-12-109-10/+92
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. Later patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split da8xx to its own platform_driverFelipe Balbi2010-12-103-1/+86
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split davinci to its own platform_driverFelipe Balbi2010-12-103-2/+86
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split tusb6010 to its own platform_driverFelipe Balbi2010-12-103-2/+85
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split am35x to its own platform_driverFelipe Balbi2010-12-103-1/+86
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split omap2430 to its own platform_driverFelipe Balbi2010-12-103-2/+87
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: trivial search and replace patchFelipe Balbi2010-12-1018-21/+21
| | | | | | | | | | change all ocurrences of musb_hdrc to musb-hdrc. We will call glue layer drivers musb-<glue layer>, so in order to keep things somewhat standard, let's change the underscore into a dash. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: add Kconfig options for each glue layerFelipe Balbi2010-12-108-74/+49
| | | | | | | | | This will make things simpler when choosing which glue layer to compile. It avoids a lot of magic around the "default" Kconfig option and lets the user choose what exactly s/he wants to compile. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: hold context on musb structureFelipe Balbi2010-12-102-84/+83
| | | | | | | when we start splitting HW glue layer, it's gonna make it easier to re-use that structure. Signed-off-by: Felipe Balbi <balbi@ti.com>
* arm: omap4: panda: initialize musbFelipe Balbi2010-12-101-3/+1
| | | | | | | initialize the musb port on pandaboard. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: make all glue layer export struct musb_platform_opsFelipe Balbi2010-12-079-177/+335
| | | | | | | | | | | | | | | | | | preparing to a big refactor on musb code. We need to be able to compile in all glue layers (or at least all ARM-based ones) together and have a working binary. While preparing for that, we move every glue layer to export only one symbol, which is a struct musb_platform_ops, and make all other functions static. Later patches will come to allow for compiling all glue layers together and have a working binary. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: introduce struct musb_platform_opsFelipe Balbi2010-12-071-0/+28
| | | | | | | | | | | | | | This will be passed to musb_core by platform glue layer in order to make it easier to compile support for several HW glue layers. Later patches will come using this structure and also moving HW glue layers to its own platform driver; the idea is to be able to handle platform peculiarities in a manner which doesn't affect one another. Signed-off-by: Felipe Balbi <balbi@ti.com>
* Merge branch 'sh/ehci' of ↵Greg Kroah-Hartman2010-12-036-10/+285
|\ | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 into work * 'sh/ehci' of master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Convert to USB_ARCH_HAS_OHCI/EHCI selects. usb: ehci-sh: Add missing ehci helpers. usb: ehci-sh: Fix up fault in shutdown path. sh: Add EHCI support for SH7786. usb: ehci-hcd: Add support for SuperH EHCI. usb: ohci-sh: Set IRQ as shared.
| * sh: Convert to USB_ARCH_HAS_OHCI/EHCI selects.Paul Mundt2010-12-012-6/+5
| | | | | | | | | | | | | | | | | | This switches over to selects for the subtypes to enable OHCI/EHCI support explicitly rather than littering the usb Kconfig with subtype dependencies. Suggested-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * usb: ehci-sh: Add missing ehci helpers.Paul Mundt2010-11-261-0/+2
| | | | | | | | | | | | | | | | The ehci-sh driver was missing tie-ins for endpoint_reset and clear_tt_buffer_complete, add them in. Reported-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * usb: ehci-sh: Fix up fault in shutdown path.Paul Mundt2010-11-261-1/+10
| | | | | | | | | | | | | | | | We can't use the generic usb_hcd_platform_shutdown helper on account of the fact we don't stash the hcd pointer in the driver data, so we provide our own shutdown handler. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Add EHCI support for SH7786.Paul Mundt2010-11-011-4/+31
| | | | | | | | | | | | This adds in the platform device for SH7786 USB EHCI. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * usb: ehci-hcd: Add support for SuperH EHCI.Paul Mundt2010-11-013-0/+238
| | | | | | | | | | | | | | This adds a trivial stub for supporting EHCI mode of the on-chip SH USB host controllers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * usb: ohci-sh: Set IRQ as shared.Paul Mundt2010-11-011-1/+1
| | | | | | | | | | | | | | | | The SH USB interface has both OHCI and EHCI modes that share the same interrupt. Flag the OHCI IRQ as shared in preparation for EHCI support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'for-next' of git://gitorious.org/usb/usb into usb-nextGreg Kroah-Hartman2010-12-0316-15/+34
|\ \ | | | | | | | | | | | | | | | | | | * 'for-next' of git://gitorious.org/usb/usb: usb: musb: gadget: prevent a NULL pointer dereference usb: musb: add names for IRQs in structure resource usb: musb: remove board_data parameter from musb_platform_init()
| * | usb: musb: gadget: prevent a NULL pointer dereferenceFelipe Balbi2010-12-011-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | Case we can't allocate struct musb_request, prevent a NULL pointer dereference by returning early. Signed-off-by: Felipe Balbi <balbi@ti.com>
| * | usb: musb: add names for IRQs in structure resourceHema Kalliguddi2010-12-0110-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Soon resource data will get automatically populated from a set of autogenerated data from TI's hardware database for the OMAP platform. Such database, might not have resources at the expected order by the current drivers. While we could hack in some exceptions to that tool to generate resources in a specific order, it seems less fragile to use the resource name instead. That way, no matter what order the resources are generated, the driver still work. Modified the OMAP, Blackfin and Davinci architecture files to add the name of the IRQs in the resource structures and musb driver to use the platform_get_irq_byname() api to get the device and dma irq numbers instead of using the index. Cc: Tony Lindgren <tony@atomide.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Hema HK <hemahk@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
| * | usb: musb: remove board_data parameter from musb_platform_init()Hema Kalliguddi2010-12-016-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed the board_data parameter being passed to musb_platform_init function as board_data can be extracted from device structure which is already member of musb structure. Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Hema HK <hemahk@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* | | uwb: fix compiler warning on i1480_est_id_tableNamhyung Kim2010-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Annotate i1480_est_id_table as '__used' to fix following warning: CC drivers/uwb/i1480/i1480-est.o drivers/uwb/i1480/i1480-est.c:94: warning: ‘i1480_est_id_table’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: David Vrabel <david.vrabel@csr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | uwb: fix compiler warning on whcrc_id_tableNamhyung Kim2010-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Annotate whcrc_id_table as '__used' to fix following warning: CC drivers/uwb/whc-rc.o drivers/uwb/whc-rc.c:452: warning: ‘whcrc_id_table’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: David Vrabel <david.vrabel@csr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | usb: g_audio: Fix crash at driver removalRichard Röjfors2010-12-031-5/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If g_audio fails to open the sound control device, it crashes at removal: Insertion: [ 4143.836536] g_audio gadget: unable to open sound control device file: /dev/snd/controlC0 [ 4143.836543] g_audio gadget: we need at least one control device [ 4143.836551] g_audio gadget: Linux USB Audio Gadget, version: Dec 18, 2008 [ 4143.836558] g_audio gadget: g_audio ready Removal: [ 4146.802643] BUG: unable to handle kernel paging request at 00023018 [ 4146.802655] IP: [<c10af9f5>] filp_close+0xa/0x5b [ 4146.802674] *pdpt = 0000000015426001 *pde = 0000000000000000 [ 4146.802684] Oops: 0000 [#1] PREEMPT SMP [ 4146.802692] last sysfs file: /sys/power/state [ 4146.802701] Modules linked in: g_audio(-) ioh_udc fuse asix usbnet [last unloaded: g_audio] [ 4146.802719] [ 4146.802728] Pid: 1394, comm: rmmod Not tainted 2.6.33.5-26.1-ivi #1 To be filled by O.E.M./To be filled by O.E.M. [ 4146.802738] EIP: 0060:[<c10af9f5>] EFLAGS: 00010206 CPU: 0 [ 4146.802746] EIP is at filp_close+0xa/0x5b [ 4146.802753] EAX: 00023000 EBX: 00023000 ECX: 00000046 EDX: df842680 [ 4146.802760] ESI: e071cd4c EDI: df842680 EBP: ddbbbef0 ESP: ddbbbee4 [ 4146.802768] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 4146.802776] Process rmmod (pid: 1394, ti=ddbba000 task=dd95a4f0 task.ti=ddbba000) [ 4146.802782] Stack: [ 4146.802787] d540c280 e071cd4c df2bc000 ddbbbefc e071b82c df11e440 ddbbbf04 e071c622 [ 4146.802804] <0> ddbbbf28 e071c47f 00000008 e071cd74 df11e464 df2bc01c df2bc000 e071ce68 [ 4146.802822] <0> 00000880 ddbbbf38 e07fd1b8 e071cef0 00000000 ddbbbf40 e071b9f4 ddbbbf48 [ 4146.802842] Call Trace: [ 4146.802857] [<e071b82c>] ? gaudio_cleanup+0x87/0xe0 [g_audio] [ 4146.802869] [<e071c622>] ? audio_unbind+0x8/0xc [g_audio] [ 4146.802881] [<e071c47f>] ? composite_unbind+0x8d/0xcb [g_audio] [ 4146.802895] [<e07fd1b8>] ? usb_gadget_unregister_driver+0x7b/0xc0 [ioh_udc] [ 4146.802908] [<e071b9f4>] ? usb_composite_unregister+0x15/0x17 [g_audio] [ 4146.802920] [<e071c633>] ? cleanup+0xd/0xf [g_audio] [ 4146.802932] [<c105a938>] ? sys_delete_module+0x185/0x1dd [ 4146.802944] [<c101c3ea>] ? do_page_fault+0x248/0x276 [ 4146.802956] [<c10027d0>] ? sysenter_do_call+0x12/0x26 [ 4146.802962] Code: 12 5f 3a 00 8b 43 04 8b 40 0c 0f b3 30 3b 73 44 73 03 89 73 44 89 f8 e8 f1 61 3a 00 5b 5e 5f 5d c3 55 89 e5 57 89 d7 56 53 89 c3 <8b> 40 18 85 c0 75 0f 68 32 15 5e c1 31 f6 e8 52 39 3a 00 5a eb [ 4146.803058] EIP: [<c10af9f5>] filp_close+0xa/0x5b SS:ESP 0068:ddbbbee4 [ 4146.803071] CR2: 0000000000023018 [ 4146.803112] ---[ end trace 0989a7e023da0434 ]--- This patch makes sure not to assign the_card if gaudio_open_snd_dev fails, since the parent function will deallocate the card. Also make sure all filp's in gaudio_open_snd_dev is assigned NULL upon error and gaudio_close_snd_dev only cleanups when the filp's are non-NULL. Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com> Cc: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge branch 'omap4-ehci-for-greg' of ↵Greg Kroah-Hartman2010-11-3010-77/+424
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://dev.omapzoom.org/pub/scm/anand/linux-omap-usb into usb-next * 'omap4-ehci-for-greg' of git://dev.omapzoom.org/pub/scm/anand/linux-omap-usb: omap4: 4430sdp: enable the ehci port on 4430SDP arm: omap4: select USB_ARCH_HAS_EHCI arm: omap4: usb: add platform init code for EHCI arm: omap4: add USBHOST and related base addresses usb: ehci-omap: Add OMAP4 support omap: usb: ehci: introduce HSIC mode usb: ehci-omap: add helpers for checking port mode usb: ehci-omap: use clkdev aliases for functional clocks omap: clock: add clkdev aliases for EHCI clocks usb: ehci: introduce CONFIG_USB_EHCI_HCD_OMAP usb: ehci-omap: don't hard-code TLL channel count usb: ehci-omap: update clock names to be more generic
| * | omap4: 4430sdp: enable the ehci port on 4430SDPKeshava Munegowda2010-12-011-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OMAP4 SDP has an SMSC3320 PHY hooked up to EHCI on Port1. The PHY power is controlled by GPIO 157. Turn on the PHY power, and register the controller at init. Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com> Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
OpenPOWER on IntegriCloud