1. 14 10月, 2013 2 次提交
  2. 03 10月, 2013 2 次提交
  3. 26 9月, 2013 3 次提交
    • 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
    • C
      ASoC: fsl_ssi: let check zero instead of check NO_IRQ · d60336e2
      Chen Gang 提交于
      NO_IRQ may be defined as '(unsigned int) -1' in some architectures
      (arm, sh ...), and either may not be defined in some architectures
      which can enable SND_SOC_FSL_SSI (e.g. allmodconfig for arc).
      
      When irq_of_parse_and_map() fails, it will always return 0, so need
      check zero instead of NO_IRQ, or will cause compiling issue or run
      time bug in some architectures.
      Signed-off-by: NChen Gang <gang.chen@asianux.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      d60336e2
  4. 24 9月, 2013 1 次提交
    • F
      ASoC: fsl: fsl_ssi: Fix simultaneous capture and playback · 64d2307c
      Fabio Estevam 提交于
      When doing simultaneous capture and playback on a mx6 board we get the following
      error:
      
      $ arecord -f cd  | aplay -f cd
      imx-sgtl5000 sound.13: set sample size in capture stream first
      fsl-ssi-dai 2028000.ssi: ASoC: can't open interface 2028000.ssi: -11
      ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_
      open) unable to open slave
      aplay: main:660: audio open error: Device or resource busy
      Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
      
      The 'arecord -f cd  | aplay -f cd' always trigger cause the
      'if (!first_runtime->sample_bits)' block to be true which returns an error.
      
      Adjust the logic inside fsl_ssi_startup(), so that we do not always hit the
      error when playing  'arecord | aplay' line for the first time.
      Reported-by: NChris Clepper <cgclepper@gmail.com>
      Suggested-by: NNicolin Chen <b42378@freescale.com>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      64d2307c
  5. 17 9月, 2013 3 次提交
  6. 09 9月, 2013 1 次提交
  7. 04 9月, 2013 1 次提交
    • 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
  8. 01 9月, 2013 1 次提交
  9. 31 8月, 2013 2 次提交
  10. 30 8月, 2013 1 次提交
  11. 29 8月, 2013 2 次提交
  12. 27 8月, 2013 1 次提交
  13. 26 8月, 2013 2 次提交
  14. 23 8月, 2013 1 次提交
    • W
      i2c: move OF helpers into the core · 687b81d0
      Wolfram Sang 提交于
      I2C of helpers used to live in of_i2c.c but experience (from SPI) shows
      that it is much cleaner to have this in the core. This also removes a
      circular dependency between the helpers and the core, and so we can
      finally register child nodes in the core instead of doing this manually
      in each driver. So, fix the drivers and documentation, too.
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      687b81d0
  15. 22 8月, 2013 5 次提交
  16. 20 8月, 2013 1 次提交
  17. 19 8月, 2013 1 次提交
  18. 18 8月, 2013 1 次提交
  19. 16 8月, 2013 1 次提交
  20. 11 8月, 2013 1 次提交
  21. 07 8月, 2013 4 次提交
  22. 31 7月, 2013 1 次提交
    • F
      ASoC: fsl: Fix module build · 3f1a91aa
      Fabio Estevam 提交于
      Building imx_v6_v7_defconfig with all audio drivers as modules results in
      the folowing build error:
      
      ERROR: "imx_pcm_fiq_init" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_init" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_fiq_exit" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_exit" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_init" [sound/soc/fsl/snd-soc-fsl-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_exit" [sound/soc/fsl/snd-soc-fsl-ssi.ko] undefined!
      
      Fix this by allowing SND_SOC_IMX_PCM_FIQ and SND_SOC_IMX_PCM_DMA to be also
      built as modules and by using 'IS_ENABLED' to cover the module case.
      Reported-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      3f1a91aa
  23. 26 7月, 2013 1 次提交
  24. 22 7月, 2013 1 次提交