1. 14 10月, 2013 3 次提交
  2. 12 10月, 2013 1 次提交
  3. 07 10月, 2013 2 次提交
  4. 04 10月, 2013 1 次提交
  5. 03 10月, 2013 2 次提交
  6. 26 9月, 2013 2 次提交
    • P
      ASoC: imx-sgtl5000: Fix uninitialized pointer use in error path · 50d4a790
      Philipp Zabel 提交于
      This patch avoids to dereference the uninitialized data pointer if the
      error path is entered before devm_kzalloc is called (or if the allocation
      fails). It fixes the following warning:
      
          sound/soc/fsl/imx-sgtl5000.c: In function 'imx_sgtl5000_probe':
          sound/soc/fsl/imx-sgtl5000.c:175:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      50d4a790
    • P
      ASoC: imx-sgtl5000: do not use devres on a foreign device · a8b22c1c
      Philipp Zabel 提交于
      Calling devm_clk_get with any device pointer other than our own confuses
      devres. Use clk_get instead. This avoids hitting the following warning in
      the imx-sgtl5000 error path:
      
      imx-sgtl5000 sound.12: snd_soc_register_card failed (-517)
      platform sound.12: Driver imx-sgtl5000 requests probe deferral
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 75 at drivers/base/dd.c:272 driver_probe_device+0x194/0x218()
      Modules linked in: snd_soc_sgtl5000(+) snd_soc_imx_sgtl5000 coda snd_soc_imx_audmux imx_sdma snd_soc_fsl_spdif snd_soc_fsl_ssi
      CPU: 0 PID: 75 Comm: udevd Not tainted 3.11.0-rc6+ #4682
      Backtrace:
      [<80010bc4>] (dump_backtrace+0x0/0x10c) from [<80010d60>] (show_stack+0x18/0x1c)
       r6:00000110 r5:00000009 r4:00000000 r3:00000000
      [<80010d48>] (show_stack+0x0/0x1c) from [<804f0764>] (dump_stack+0x20/0x28)
      [<804f0744>] (dump_stack+0x0/0x28) from [<8001a4a4>] (warn_slowpath_common+0x6c/0x8c)
      [<8001a438>] (warn_slowpath_common+0x0/0x8c) from [<8001a4e8>] (warn_slowpath_null+0x24/0x2c)
       r8:7f032000 r7:7f02f93c r6:cf8eaa54 r5:cf8eaa20 r4:80728a0c
      [<8001a4c4>] (warn_slowpath_null+0x0/0x2c) from [<80286bdc>] (driver_probe_device+0x194/0x218)
      [<80286a48>] (driver_probe_device+0x0/0x218) from [<80286cf4>] (__driver_attach+0x94/0x98)
       r7:00000000 r6:cf8eaa54 r5:7f02f93c r4:cf8eaa20
      [<80286c60>] (__driver_attach+0x0/0x98) from [<802851c8>] (bus_for_each_dev+0x5c/0x90)
       r6:80286c60 r5:7f02f93c r4:00000000 r3:cf8ef03c
      [<8028516c>] (bus_for_each_dev+0x0/0x90) from [<80286654>] (driver_attach+0x24/0x28)
       r6:806d0424 r5:cf16a580 r4:7f02f93c
      [<80286630>] (driver_attach+0x0/0x28) from [<802861e4>] (bus_add_driver+0xdc/0x234)
      [<80286108>] (bus_add_driver+0x0/0x234) from [<802871d4>] (driver_register+0x80/0x154)
       r8:7f032000 r7:00000001 r6:7f02fa68 r5:7f02fa74 r4:7f02f93c
      [<80287154>] (driver_register+0x0/0x154) from [<8033c278>] (i2c_register_driver+0x34/0xbc)
      [<8033c244>] (i2c_register_driver+0x0/0xbc) from [<7f032018>] (sgtl5000_i2c_driver_init+0x18/0x24 [snd_soc_sgtl5000])
       r5:7f02fa74 r4:cfb7ff48
      [<7f032000>] (sgtl5000_i2c_driver_init+0x0/0x24 [snd_soc_sgtl5000]) from [<80008738>] (do_one_initcall+0xf4/0x150)
      [<80008644>] (do_one_initcall+0x0/0x150) from [<80053f64>] (load_module+0x174c/0x1db4)
      [<80052818>] (load_module+0x0/0x1db4) from [<800546ac>] (SyS_init_module+0xe0/0xf4)
      [<800545cc>] (SyS_init_module+0x0/0xf4) from [<8000e540>] (ret_fast_syscall+0x0/0x30)
       r6:00005b22 r5:00afed68 r4:00000000
      ---[ end trace b24c5c3bb145dbdd ]---
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      Acked-by: NShawn Guo <shawn.guo@linaro.org>
      Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      a8b22c1c
  7. 17 9月, 2013 1 次提交
  8. 14 9月, 2013 4 次提交
  9. 13 9月, 2013 1 次提交
  10. 11 9月, 2013 1 次提交
    • S
      ASoC: mc13783: add spi errata fix · 9f6f0afb
      Steffen Trumtrar 提交于
      The MC13783 Chip Errata, Rev. 4 says, that depending on SPI clock
      and main audio clock speed, the Audio Codec or Stereo DAC do sometimes
      not start when programmed to do so. This is due to an internal clock
      timing issue related to the loading of the SPI bits into the audio block.
      
      On an i.MX27 based system, this issue lead to switched audio channels under
      certain circumstances: RTC + Touch + Audio are used and loaded at startup.
      
      The mentioned workaround of writing registers 40 and 41 two times is implemented
      here.
      Signed-off-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: NMark Brown <broonie@linaro.org>
      9f6f0afb
  11. 09 9月, 2013 2 次提交
  12. 06 9月, 2013 1 次提交
    • T
      ASoC: kirkwood: change the compatible string of the kirkwood-i2s driver · d098b2f0
      Thomas Petazzoni 提交于
      The compatible string of the kirkwood-i2s driver was chosen as
      "marvell,mvebu-audio". Using such a compatible string is not a good
      idea, since "mvebu" is the name of a large family of SOCs, in which
      new, unknown SOCs will be coming in the future. It is therefore
      impossible to know what will be evolutions of this hardware block in
      the next generations of the SOCs. For this reason, the recommandation
      for compatible strings of on-SOCs devices has always been to use the
      name of the oldest SOC that has the hardware block. New SOCs that have
      an exactly compatible hardware block can reference it using the same
      compatible string. See [1], [2] and [3] for various cases were this
      suggestion was made, including from Rob Herring, a Device Tree binding
      maintainer.
      
      As an example, there are already small differences between current
      generations:
      
       * On Kirkwood, only one interrupt is used for audio.
       * On Dove, two interrupts are used, one for audio data and one for
         error reporting.
      
      In the near future, I'll be adding audio support to Armada 370, which
      allows has the same hardware block (but maybe with minor variants).
      
      Therefore, this patch changes the driver to accept
      "marvell,kirkwood-audio" and "marvell,dove-audio" as compatible
      strings instead of the too-generic "marvell,mvebu-audio". The reason
      for the two different compatible strings is the difference in the
      number of interrupts used by the two SOCs for audio.
      
      This Device Tree binding has never been part of a Linux kernel stable
      release so far, so it can be changed now without breaking backward
      compatibility.
      
      [1] http://lists.infradead.org/pipermail/linux-mtd/2012-March/040417.html
      [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/161065.html
      [3] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/087702.htmlSigned-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      d098b2f0
  13. 04 9月, 2013 2 次提交
    • B
      ASoC: atmel: disable error interrupt · e0111434
      Bo Shen 提交于
      As once the error interrupt is triggered, it can not be cleared.
      So, disable it.
      
      No side effect found while testing on sama5d3xek and at91sam9x5ek
      boards.
      Signed-off-by: NBo Shen <voice.shen@atmel.com>
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      e0111434
    • F
      ASoC: fsl: imx-audmux: Do not call imx_audmux_parse_dt_defaults() on non-dt kernel · bae35992
      Fabio Estevam 提交于
      Booting a mx51babbage board with a non-dt kernel leads to the following crash:
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000001c
      pgd = 80004000
      [0000001c] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.11.0-next-20130903 #287
      task: 9f860000 ti: 9f862000 task.ti: 9f862000
      PC is at of_get_next_available_child+0x5c/0x68
      LR is at of_get_next_available_child+0x1c/0x68
      pc : [<8043ea58>]    lr : [<8043ea18>]    psr: 60000193
      sp : 9f863d58  ip : 00000000  fp : 9f863d74
      r10: 9f89a010  r9 : 9f862000  r8 : 807bb26c
      r7 : 80615d5c  r6 : 00000000  r5 : 60000113  r4 : 00000000
      r3 : 00000000  r2 : 808770a4  r1 : 00000011  r0 : 60000113
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 90004019  DAC: 00000017
      Process swapper/0 (pid: 1, stack limit = 0x9f862240)
      Stack: (0x9f863d58 to 0x9f864000)
      
      This is caused by commit 8548a464 (ASoC: imx-audmux: Read default
      configuration from devicetree).
      
      In order to fix this, add a check for 'of_id' so that
      imx_audmux_parse_dt_defaults() only gets called when a dt kernel is running.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      bae35992
  14. 01 9月, 2013 4 次提交
    • F
      ASoC: mxs-sgtl5000: Configure the dai_links as unidirectional · a90e6053
      Fabio Estevam 提交于
      On a mx28 board, running "aplay -l" and "arecord -l" results in the following:
      
      $ aplay -l
      **** List of PLAYBACK Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 0: Playback sgtl5000-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 0: mxssgtl5000 [mxs_sgtl5000], device 1: Capture sgtl5000-1 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      $ arecord -l
      **** List of CAPTURE Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 0: Playback sgtl5000-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 0: mxssgtl5000 [mxs_sgtl5000], device 1: Capture sgtl5000-1 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      ,which is not correct because we got a capture device listed in aplay and a
      playback device listed in arecord.
      
      On mx28 there are two serial audio interface ports (SAIF0 and SAIF1) and each
      one of them are unidirectional.
      
      Allow to specify a dai link as 'playback_only' or 'capture_only', which suits
      well for this case.
      
      After this change we can correctly report the capabilities as follows:
      
      $ aplay -l
      **** List of PLAYBACK Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 0: HiFi Playback sgtl5000-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      $ arecord -l
      **** List of CAPTURE Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 1: HiFi Capture sgtl5000-1 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      Also tested playback and capture on the mx28evk board.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      a90e6053
    • F
      ASoC: soc-pcm: Allow to specify unidirectional dai_link · d6bead02
      Fabio Estevam 提交于
      Add 'playback_only' and 'capture_only' fields that can be used for specifying
      that a dai_link has a unidirectional capability.
      
      The motivation for this is for the cases of systems, such as Freescale MX28,
      that has two unidirectional DAIs.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      d6bead02
    • M
      6b4c80f9
    • L
      ASoC: ssm2602: Fix cache sync · 9d863b88
      Lars-Peter Clausen 提交于
      The ssm2602 uses regmap for caching not soc-cache, so we need to use
      regcache_sync() instead of snd_soc_cache_sync().
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      9d863b88
  15. 31 8月, 2013 2 次提交
  16. 30 8月, 2013 4 次提交
  17. 29 8月, 2013 4 次提交
  18. 28 8月, 2013 1 次提交
  19. 27 8月, 2013 2 次提交