1. 18 3月, 2013 8 次提交
  2. 12 3月, 2013 1 次提交
  3. 05 3月, 2013 4 次提交
    • A
      usb: musb: omap2430: fix sparse warning · 4b58ed11
      Aaro Koskinen 提交于
      Fix the following sparse warning:
      
      drivers/usb/musb/omap2430.c:54:33: warning: symbol '_glue' was not \
      	declared. Should it be static?
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      4b58ed11
    • A
      usb: musb: omap2430: fix omap_musb_mailbox glue check again · f8c4b0e7
      Aaro Koskinen 提交于
      Commit 80ab72e1 (usb: musb: omap2430: fix the readiness check
      in omap_musb_mailbox) made the check incorrect, as we will lose the
      glue/link status during the normal built-in probe order (twl4030_usb is
      probed after musb omap2430, but before musb core is ready).
      
      As a result, if you boot with USB cable on and load g_ether, the
      connection does not work as the code thinks the cable is off and the
      phy gets powered down immediately. This is a major regression in 3.9-rc1.
      
      So the proper check should be: exit if _glue is NULL, but if it's
      initialized we memorize the status, and then check if the musb core
      is ready.
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      f8c4b0e7
    • F
      usb: musb: fix compile warning · e574d570
      Felipe Balbi 提交于
      When running 100 randconfig iterations, I found
      the following warning:
      
      drivers/usb/musb/musb_core.c: In function ‘musb_init_controller’:
      drivers/usb/musb/musb_core.c:1981:1: warning: label ‘fail5’ defined \
      	but not used [-Wunused-label]
      
      this patch fixes it by removing the unnecessary
      ifdef CONFIG_SYSFS.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      e574d570
    • F
      usb: musb: remove all 'select' from Kconfig · 341a71c7
      Felipe Balbi 提交于
      those are quite unnecessary, the only thing
      we need to be careful about is USB_OTG_UTILS
      which get properly selected by PHY drivers.
      
      For now, MUSB will select only USB_OTG_UTILS
      until we add stubs for the cases when PHY
      layer isn't enabled.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      341a71c7
  4. 04 3月, 2013 1 次提交
  5. 09 2月, 2013 1 次提交
  6. 25 1月, 2013 3 次提交
  7. 23 1月, 2013 1 次提交
  8. 18 1月, 2013 1 次提交
    • S
      usb: musb: cppi_dma: drop '__init' annotation · 091a62c9
      Sergei Shtylyov 提交于
      This patch fixes the following:
      
      WARNING: vmlinux.o(.text+0x1e709c): Section mismatch in reference from the funct
      ion dma_controller_create() to the function .init.text:cppi_controller_start()
      The function dma_controller_create() references
      the function __init cppi_controller_start().
      This is often because dma_controller_create lacks a __init
      annotation or the annotation of cppi_controller_start is wrong.
      
      This warning is there due to the deficiency in the commit 07a67bbb (usb: musb:
      Make dma_controller_create __devinit).
      
      Since the start() method is only called from musb_init_controller() which is
      not annotated, drop '__init' annotation from cppi_controller_start() and also
      cppi_pool_init() since it gets called from that function, to avoid another
      section mismatch warning...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: stable@vger.kernel.org # 3.7+
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      091a62c9
  9. 17 1月, 2013 6 次提交
    • S
      usb: musb: omap2430: fix wrong devm_kzalloc() result check · b37457d8
      Sergei Shtylyov 提交于
      Commit 00a0b1d5 (usb: musb: omap: Add device
      tree support for omap musb glue) assigns result of devm_kzalloc() call to
      the 'config' variable but then checks for NULL the 'data' variable (already
      checked after previous call). Thus we risk a kernel oops further when data
      pointed by 'config' is written to by subsequent of_property_read_u32() calls
      iff the allocation happens to fail...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      b37457d8
    • M
      usb: musb: fix dependency on transceiver driver · 25736e0c
      Ming Lei 提交于
      This patch let glue driver return -EPROBE_DEFER if the transceiver
      is not readly, so we can support defer probe on musb to fix the
      below error on 3.7-rc5 if transceiver drivers are built as module:
      
      [   19.052490] unable to find transceiver of type USB2 PHY
      [   19.072052] HS USB OTG: no transceiver configured
      [   19.076995] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -19
      [   19.089355] musb-hdrc: probe of musb-hdrc.0.auto rejects match -19
      [   19.096771] driver: 'musb-omap2430': driver_bound: bound to device 'musb-omap2430'
      [   19.105194] bus: 'platform': really_probe: bound device musb-omap2430 to driver musb-omap2430
      [   19.174407] bus: 'platform': add driver twl4030_usb
      [   19.179656] bus: 'platform': driver_probe_device: matched device twl4030_usb with driver twl4030_usb
      [   19.202270] bus: 'platform': really_probe: probing driver twl4030_usb with device twl4030_usb
      [   19.214172] twl4030_usb twl4030_usb: HW_CONDITIONS 0xc0/192; link 3
      [   19.239624] musb-omap2430 musb-omap2430: musb core is not yet ready
      [   19.246765] twl4030_usb twl4030_usb: Initialized TWL4030 USB module
      [   19.254516] driver: 'twl4030_usb': driver_bound: bound to device 'twl4030_usb'
      [   19.263580] bus: 'platform': really_probe: bound device twl4030_usb to driver twl4030_usb
      
      Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: <stable@vger.kernel.org> v3.8
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      25736e0c
    • M
      usb: musb: core: fix failure path · 681d1e87
      Ming Lei 提交于
      In the fail1~fail5 failure path, pm_runtime_disable() should
      be called to avoid 'Unbalanced pm_runtime_enable' error in
      next probe() which may be triggered by defer probe or next
      'modprobe musb_hdrc'.
      
      Cc: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: <stable@vger.kernel.org> v3.8
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      681d1e87
    • S
      usb: musb: Double buffering issues in host mode TX · a70b8442
      supriya karanth 提交于
      Whenever an URB is programmed for transfer, the TXFIFO
      is flushed. This results in valid packets of the
      previous transfer to get flushed when double buffering
      is enabled (The MUSB_TXCSR_FIFONOTEMPTY bit in TXCSR
      is set indicating that a packet in the FIFO is yet to be sent)
      For ex:- In Host mode Audio, noise is heard in the headset
      when double buffering is enabled on the ISO endpoint.
      The fifo flush is removed for double buffering case.
      The fifo is now flushed only in cases of error or when
      aborting a transfer.
      
      Also, In Host MSC case, data toggle errors are seen when double
      buffering is enabled on the bulk endpoint. Whenever an URB is
      programmed for transfer, the data toggle is set manually
      resulting in data toggle errors on the bus. Leave the data
      toggle handling upto the hardware in the double buffering case.
      Signed-off-by: Nsupriya karanth <supriya.karanth@stericsson.com>
      Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      a70b8442
    • S
      usb: musb: omap2430: kill redundant assignments in omap2430_probe() · 8df4ce75
      Sergei Shtylyov 提交于
      Commit 00a0b1d5 (usb: musb: omap: Add device
      tree support for omap musb glue) added assignments of the 'ret' variable to
      -ENOMEM on *some* error paths of the calls to devm_kzalloc(), while that
      variable was already pre-initialized for to that value, so these assignments
      were completely redundant. Kill them, fixing overindented string, while at it.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      8df4ce75
    • F
      usb: musb: ux500: use clk_prepare_enable and clk_disable_unprepare · 99d17cfa
      Fabio Baltieri 提交于
      This patch converts the module to use clk_prepare_enable and
      clk_disable_unprepare variants as required by common clock framework.
      
      Without this the system crash during probe function.
      
      Cc: <stable@vger.kernel.org> # v3.7 v3.8
      Signed-off-by: NFabio Baltieri <fabio.baltieri@linaro.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      99d17cfa
  10. 10 1月, 2013 4 次提交
    • S
      usb: musb: set AUTOSET for full speed bulk DMA transfer in host mode · f2786281
      supriya karanth 提交于
      The "mult" factor is not updated properly for the can_bulk_split()
      case.
      
      The AUTOSET bit in the TXCSR is not being set if the "mult"
      factor is greater than 1 for the High Bandwidth ISO case.
      But the "mult" factor is also greater than 1 in case of Full speed
      bulk transfers with the packet splitting in TXMAXP register
      enabled with can_bulk_split().
      
      Without the AUTOSET the DMA transfers will not progress in mode1
      
      [ balbi@ti.com : fix braces placement ]
      Signed-off-by: Nsupriya karanth <supriya.karanth@stericsson.com>
      Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      f2786281
    • S
      usb: musb: set TXMAXP and AUTOSET for full speed bulk in device mode · bb3a2ef2
      supriya karanth 提交于
      The TXMAXP register is not set correctly for full speed bulk case
      when the can_bulk_split() is used. Without this PIO transfers will
      not take place correctly
      
      The "mult" factor needs to be updated correctly for the
      can_bulk_split() case
      
      The AUTOSET bit in the TXCSR is not being set if the "mult"
      factor is greater than 0 for the High Bandwidth ISO case.
      But the "mult" factor is also greater than 0 in case of Full speed
      bulk transfers with the packet splitting in TXMAXP register
      
      Without the AUTOSET the DMA transfers will not progress in mode1
      
      [ balbi@ti.com : add braces to both branches ]
      Signed-off-by: Nsupriya karanth <supriya.karanth@stericsson.com>
      Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      bb3a2ef2
    • S
      usb: musb: dsps: Remove duplicate inclusion of linux/of.h · 7e56e621
      Sachin Kamat 提交于
      linux/of.h was included twice.
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      7e56e621
    • A
      usb: musb: omap2430: fix the readiness check in omap_musb_mailbox · 80ab72e1
      Aaro Koskinen 提交于
      The check in omap_musb_mailbox does not properly check if the module has
      been fully initialized. The patch fixes that, and the kernel panic below:
      
      $ modprobe twl4030-usb
      [   13.924743] twl4030_usb twl4030-usb.33: HW_CONDITIONS 0xe0/224; link 3
      [   13.940307] Unable to handle kernel NULL pointer dereference at virtual address 00000004
      [   13.948883] pgd = ef27c000
      [   13.951751] [00000004] *pgd=af256831, *pte=00000000, *ppte=00000000
      [   13.958374] Internal error: Oops: 17 [#1] ARM
      [   13.962921] Modules linked in: twl4030_usb(+) omap2430 libcomposite
      [   13.969543] CPU: 0    Not tainted  (3.8.0-rc1-n9xx-11758-ge37a37c-dirty #6)
      [   13.976867] PC is at omap_musb_mailbox+0x18/0x54 [omap2430]
      [   13.982727] LR is at twl4030_usb_probe+0x240/0x354 [twl4030_usb]
      [   13.989013] pc : [<bf013b6c>]    lr : [<bf018958>]    psr: 60000013
      [   13.989013] sp : ef273cf0  ip : ef273d08  fp : ef273d04
      [   14.001068] r10: bf01b000  r9 : bf0191d8  r8 : 00000001
      [   14.006530] r7 : 00000000  r6 : ef140e10  r5 : 00000003  r4 : 00000000
      [   14.013397] r3 : bf0142dc  r2 : 00000006  r1 : 00000000  r0 : 00000003
      [   14.020233] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   14.027740] Control: 10c5387d  Table: af27c019  DAC: 00000015
      [   14.033752] Process modprobe (pid: 616, stack limit = 0xef272238)
      [   14.040161] Stack: (0xef273cf0 to 0xef274000)
      [   14.044708] 3ce0:                                     ef254310 00000001 ef273d34 ef273d08
      [   14.053314] 3d00: bf018958 bf013b60 bf0190a4 ef254310 c0101550 c0c3a138 ef140e10 ef140e44
      [   14.061889] 3d20: bf019150 00000001 ef273d44 ef273d38 c019890c bf018724 ef273d64 ef273d48
      [   14.070495] 3d40: c01974fc c01988f8 ef140e10 bf019150 ef140e44 00000000 ef273d84 ef273d68
      [   14.079071] 3d60: c0197728 c019748c c0197694 00000000 bf019150 c0197694 ef273dac ef273d88
      [   14.087677] 3d80: c0195c38 c01976a0 ef03610c ef143eb0 c0128954 ef254780 bf019150 c0b19548
      [   14.096252] 3da0: ef273dbc ef273db0 c0197098 c0195bf0 ef273dec ef273dc0 c0196c98 c0197080
      [   14.104858] 3dc0: bf0190a4 c0b27bc0 ef273dec bf019150 bf019190 c0b27bc0 ef272000 00000001
      [   14.113433] 3de0: ef273e14 ef273df0 c0197c18 c0196b30 ef273f48 bf019190 c0b27bc0 ef272000
      [   14.122039] 3e00: 00000001 bf01b000 ef273e24 ef273e18 c0198b28 c0197ba4 ef273e34 ef273e28
      [   14.130615] 3e20: bf01b014 c0198ae8 ef273e8c ef273e38 c0008918 bf01b00c c004f730 c012ba1c
      [   14.139221] 3e40: ef273e74 00000000 c00505b0 c004f72c 00000000 ef273e60 ef273f48 bf019190
      [   14.147796] 3e60: 00000001 ef273f48 bf019190 00000001 ef286340 00000001 bf0191d8 c0065414
      [   14.156402] 3e80: ef273f44 ef273e90 c0067754 c00087fc bf01919c 00007fff c0064794 00000000
      [   14.164978] 3ea0: ef273ecc f0064000 00000001 ef272000 ef272000 00067f39 bf0192b0 bf01919c
      [   14.173583] 3ec0: ef273f0c ef273ed0 c00a6bf0 c00a53fc ff000000 000000d2 c0067dc8 00000000
      [   14.182159] 3ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [   14.190765] 3f00: 00000000 00000000 00000000 00000000 00000000 00000000 ffffffff 00002968
      [   14.199340] 3f20: 00080878 00067f39 00000080 c000e2e8 ef272000 00000000 ef273fa4 ef273f48
      [   14.207946] 3f40: c0067e54 c0066188 f0064000 00002968 f0065530 f0065463 f0065fb0 000012c4
      [   14.216522] 3f60: 00001664 00000000 00000000 00000000 00000014 00000015 0000000c 00000000
      [   14.225128] 3f80: 00000008 00000000 00000000 00080370 00080878 0007422c 00000000 ef273fa8
      [   14.233703] 3fa0: c000e140 c0067d80 00080370 00080878 00080878 00002968 00067f39 00000000
      [   14.242309] 3fc0: 00080370 00080878 0007422c 00000080 00074030 00067f39 bec7aef8 00000000
      [   14.250885] 3fe0: b6f05300 bec7ab68 0000e93c b6f05310 60000010 00080878 af7fe821 af7fec21
      [   14.259460] Backtrace:
      [   14.262054] [<bf013b54>] (omap_musb_mailbox+0x0/0x54 [omap2430]) from [<bf018958>] (twl4030_usb_probe+0x240/0x354 [twl4030_usb])
      [   14.274200]  r5:00000001 r4:ef254310
      [   14.277984] [<bf018718>] (twl4030_usb_probe+0x0/0x354 [twl4030_usb]) from [<c019890c>] (platform_drv_probe+0x20/0x24)
      [   14.289123]  r8:00000001 r7:bf019150 r6:ef140e44 r5:ef140e10 r4:c0c3a138
      [   14.296203] [<c01988ec>] (platform_drv_probe+0x0/0x24) from [<c01974fc>] (driver_probe_device+0x7c/0x214)
      [   14.306243] [<c0197480>] (driver_probe_device+0x0/0x214) from [<c0197728>] (__driver_attach+0x94/0x98)
      [   14.316009]  r7:00000000 r6:ef140e44 r5:bf019150 r4:ef140e10
      [   14.321990] [<c0197694>] (__driver_attach+0x0/0x98) from [<c0195c38>] (bus_for_each_dev+0x54/0x88)
      [   14.331390]  r6:c0197694 r5:bf019150 r4:00000000 r3:c0197694
      [   14.337371] [<c0195be4>] (bus_for_each_dev+0x0/0x88) from [<c0197098>] (driver_attach+0x24/0x28)
      [   14.346588]  r6:c0b19548 r5:bf019150 r4:ef254780
      [   14.351440] [<c0197074>] (driver_attach+0x0/0x28) from [<c0196c98>] (bus_add_driver+0x174/0x244)
      [   14.360687] [<c0196b24>] (bus_add_driver+0x0/0x244) from [<c0197c18>] (driver_register+0x80/0x154)
      [   14.370086]  r8:00000001 r7:ef272000 r6:c0b27bc0 r5:bf019190 r4:bf019150
      [   14.377136] [<c0197b98>] (driver_register+0x0/0x154) from [<c0198b28>] (platform_driver_register+0x4c/0x60)
      [   14.387390] [<c0198adc>] (platform_driver_register+0x0/0x60) from [<bf01b014>] (twl4030_usb_init+0x14/0x1c [twl4030_usb])
      [   14.398895] [<bf01b000>] (twl4030_usb_init+0x0/0x1c [twl4030_usb]) from [<c0008918>] (do_one_initcall+0x128/0x1a8)
      [   14.409790] [<c00087f0>] (do_one_initcall+0x0/0x1a8) from [<c0067754>] (load_module+0x15d8/0x1bf8)
      [   14.419189] [<c006617c>] (load_module+0x0/0x1bf8) from [<c0067e54>] (sys_init_module+0xe0/0xf4)
      [   14.428344] [<c0067d74>] (sys_init_module+0x0/0xf4) from [<c000e140>] (ret_fast_syscall+0x0/0x30)
      [   14.437652]  r6:0007422c r5:00080878 r4:00080370
      [   14.442504] Code: e24cb004 e59f3038 e1a05000 e593401c (e5940004)
      [   14.448944] ---[ end trace dbf47e5bc5ba03c2 ]---
      [   14.453826] Kernel panic - not syncing: Fatal exception
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      80ab72e1
  11. 18 12月, 2012 2 次提交
  12. 13 12月, 2012 2 次提交
  13. 01 12月, 2012 1 次提交
    • T
      ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h · 45c3eb7d
      Tony Lindgren 提交于
      Based on earlier discussions[1] we attempted to find a suitable
      location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP:
      DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion
      to dmaengine is complete.
      
      Unfortunately that was before I was able to try to test compile
      of the ARM multiplatform builds for omap2+, and the end result
      was not very good.
      
      So I'm creating yet another all over the place patch to cut the
      last dependency for building omap2+ for ARM multiplatform. After
      this, we have finally removed the driver dependencies to the
      arch/arm code, except for few drivers that are being worked on.
      
      The other option was to make the <plat-omap/dma-omap.h> path
      to work, but we'd have to add some new header directory to for
      multiplatform builds.
      
      Or we would have to manually include arch/arm/plat-omap/include
      again from arch/arm/Makefile for omap2+.
      
      Neither of these alternatives sound appealing as they will
      likely lead addition of various other headers exposed to the
      drivers, which we want to avoid for the multiplatform kernels.
      
      Since we already have a minimal include/linux/omap-dma.h,
      let's just use that instead and add a note to it to not
      use the custom omap DMA functions any longer where possible.
      
      Note that converting omap DMA to dmaengine depends on
      dmaengine supporting automatically incrementing the FIFO
      address at the device end, and converting all the remaining
      legacy drivers. So it's going to be few more merge windows.
      
      [1] https://patchwork.kernel.org/patch/1519591/#
      
      cc: Russell King <linux@arm.linux.org.uk>
      cc: Kevin Hilman <khilman@ti.com>
      cc: "Benoît Cousson" <b-cousson@ti.com>
      cc: Herbert Xu <herbert@gondor.apana.org.au>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Vinod Koul <vinod.koul@intel.com>
      cc: Dan Williams <djbw@fb.com>
      cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      cc: David Woodhouse <dwmw2@infradead.org>
      cc: Kyungmin Park <kyungmin.park@samsung.com>
      cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      cc: Hans Verkuil <hans.verkuil@cisco.com>
      cc: Vaibhav Hiremath <hvaibhav@ti.com>
      cc: Lokesh Vutla <lokeshvutla@ti.com>
      cc: Rusty Russell <rusty@rustcorp.com.au>
      cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      cc: Afzal Mohammed <afzal@ti.com>
      cc: linux-crypto@vger.kernel.org
      cc: linux-media@vger.kernel.org
      cc: linux-mtd@lists.infradead.org
      cc: linux-usb@vger.kernel.org
      cc: linux-fbdev@vger.kernel.org
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      45c3eb7d
  14. 22 11月, 2012 5 次提交