1. 28 1月, 2013 1 次提交
    • S
      Revert "ASoC: fsl: fix multiple definition of init_module" · 93d7b762
      Shawn Guo 提交于
      This reverts commit 25b8d314.
      
      While the commit fixes multiple init_module definition error with
      module build, it breaks build when both imx-pcm-fiq and imx-pcm-dma
      are built in as below.
      
        LD      sound/soc/fsl/snd-soc-fsl-ssi.o
        LD      sound/soc/fsl/snd-soc-fsl-utils.o
        LD      sound/soc/fsl/snd-soc-imx-ssi.o
        LD      sound/soc/fsl/snd-soc-imx-audmux.o
        LD      sound/soc/fsl/snd-soc-imx-pcm-fiq.o
        LD      sound/soc/fsl/snd-soc-imx-pcm-dma.o
        LD      sound/soc/fsl/snd-soc-eukrea-tlv320.o
        LD      sound/soc/fsl/snd-soc-imx-sgtl5000.o
        LD      sound/soc/fsl/snd-soc-imx-mc13783.o
        LD      sound/soc/fsl/built-in.o
      sound/soc/fsl/snd-soc-imx-pcm-dma.o: In function `imx_pcm_free':
      imx-pcm.c:(.text+0x464): multiple definition of `imx_pcm_free'
      sound/soc/fsl/snd-soc-imx-pcm-fiq.o:imx-pcm-fiq.c:(.text+0x1a8): first defined here
      sound/soc/fsl/snd-soc-imx-pcm-dma.o: In function `snd_imx_pcm_mmap':
      imx-pcm.c:(.text+0x35c): multiple definition of `snd_imx_pcm_mmap'
      sound/soc/fsl/snd-soc-imx-pcm-fiq.o:imx-pcm-fiq.c:(.text+0xa0): first defined here
      sound/soc/fsl/snd-soc-imx-pcm-dma.o: In function `imx_pcm_new':
      imx-pcm.c:(.text+0x3dc): multiple definition of `imx_pcm_new'
      sound/soc/fsl/snd-soc-imx-pcm-fiq.o:imx-pcm-fiq.c:(.text+0x120): first defined here
      make[4]: *** [sound/soc/fsl/built-in.o] Error 1
      
      Let's revert the commit and find a proper fix for multiple init_module
      definition error later.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      93d7b762
  2. 12 1月, 2013 1 次提交
    • S
      ASoC: fsl: fix multiple definition of init_module · 25b8d314
      Shawn Guo 提交于
      With commit f2818d07 (ASoC: fsl: fix miscompilation of snd-soc-imx-pcm),
      we will see the following build error when building modules with
      CONFIG_SND_IMX_SOC=m in imx_v6_v7_defconfig.
      
        CC [M]  sound/soc/fsl/phycore-ac97.o
        LD [M]  sound/soc/fsl/snd-soc-fsl-ssi.o
        LD [M]  sound/soc/fsl/snd-soc-fsl-utils.o
        LD [M]  sound/soc/fsl/snd-soc-imx-ssi.o
        LD [M]  sound/soc/fsl/snd-soc-imx-audmux.o
        LD [M]  sound/soc/fsl/snd-soc-imx-pcm.o
      sound/soc/fsl/imx-pcm-dma.o: In function `init_module':
      imx-pcm-dma.c:(.init.text+0x0): multiple definition of `init_module'
      sound/soc/fsl/imx-pcm-fiq.o:imx-pcm-fiq.c:(.init.text+0x0): first defined here
      sound/soc/fsl/imx-pcm-dma.o: In function `cleanup_module':
      imx-pcm-dma.c:(.exit.text+0x0): multiple definition of `cleanup_module'
      sound/soc/fsl/imx-pcm-fiq.o:imx-pcm-fiq.c:(.exit.text+0x0): first defined here
      make[4]: *** [sound/soc/fsl/snd-soc-imx-pcm.o] Error 1
      
      Instead of using bool for SND_SOC_IMX_PCM_FIQ and SND_SOC_IMX_PCM_DMA
      to fix the original issue, we should completely remove SND_SOC_IMX_PCM
      and have imx-pcm.o statically linked with imx-pcm-fiq.o or imx-pcm-dma.o.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      25b8d314
  3. 09 12月, 2012 1 次提交
  4. 28 11月, 2012 2 次提交
    • L
      ASoC: fsl: fix miscompilation of snd-soc-imx-pcm · f2818d07
      Lothar Waßmann 提交于
      Hi Mark,
      
      thanks your insisting on a better description for the patch, I found a
      more appropriate solution for the problem:
      
      Compiling the SoC Audio driver for Freescale i.MX as a module
      (CONFIG_SND_SOC_IMX_PCM=m) results in a non-functional sound driver
      indicated by the error message:
      | imx-sgtl5000 sound.1: platform imx-pcm-audio not registered
      | imx-sgtl5000 sound.1: snd_soc_register_card failed (-517)
      | platform sound.1: Driver imx-sgtl5000 requests probe deferral
      instead of the message:
      | imx-sgtl5000 sound.1:  sgtl5000 <-> 63fcc000.ssi mapping ok
      that is to be expected upon loading the snd-soc-imx-pcm.ko module.
      
      The build log reveals, that the file imx-pcm-dma.o (or imx-pcm-fiq.o
      depending on the kernel configuration), which should be linked
      together with imx-pcm.o into snd-imx-pcm.ko, is not being compiled in
      this case.
      
      The make rules for these files shows that the target object imx-pcm.o
      is assigned to the variable snd-soc-imx-pcm-y while
      imx-pcm-{dma,fiq}.o are added to to
      snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_DMA) and
      snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_FIQ) which resolve to
      snd-soc-imx-pcm-m in this case.
      
      According to Documentation/kbuild/modules.txt:
      |When the module is built from multiple sources, an additional line is
      |needed listing the files:
      |
      |        <module_name>-y := <src1>.o <src2>.o ...
      Thus the type of the config variables CONFIG_SND_SOC_IMX_PCM_DMA and
      CONFIG_SND_SOC_IMX_PCM_FIQ should be 'bool' instead of 'tristate' to
      resolve to 'y' when selected.
      Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      f2818d07
    • L
      ASoC: fsl: fix miscompilation of snd-soc-imx-pcm · 20dd9e5e
      Lothar Waßmann 提交于
      Due to a broken make rule, sound/soc/fsl/imx-pcm-dma.c or
      sound/soc/fsl/imx-pcm-fiq.c (whatever is selected via Kconfig) will
      not be compiled into imx-pcm.o when building as module, i.e.:
      CONFIG_SND_SOC_IMX_PCM=m
      CONFIG_SND_SOC_IMX_PCM_DMA=m
      resulting in a non-functional sound driver.
      
      This gives the error messages:
      | imx-sgtl5000 sound.1: platform imx-pcm-audio not registered
      | imx-sgtl5000 sound.1: snd_soc_register_card failed (-517)
      | platform sound.1: Driver imx-sgtl5000 requests probe deferral
      when loading the driver instead of what's to be expected:
      | imx-sgtl5000 sound.1:  sgtl5000 <-> 63fcc000.ssi mapping ok
      Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      20dd9e5e
  5. 23 11月, 2012 2 次提交
  6. 24 10月, 2012 1 次提交
  7. 22 10月, 2012 2 次提交
  8. 15 10月, 2012 2 次提交
  9. 28 9月, 2012 1 次提交
  10. 22 9月, 2012 3 次提交
  11. 19 9月, 2012 8 次提交
  12. 17 9月, 2012 1 次提交
  13. 14 9月, 2012 1 次提交
  14. 06 9月, 2012 1 次提交
  15. 21 8月, 2012 1 次提交
  16. 08 8月, 2012 1 次提交
  17. 04 8月, 2012 2 次提交
  18. 19 7月, 2012 1 次提交
  19. 05 7月, 2012 2 次提交
  20. 01 7月, 2012 1 次提交
    • S
      ARM: imx: enable SPARSE_IRQ for imx platform · 8842a9e2
      Shawn Guo 提交于
      As all irqchips on imx have been changed to allocate their irq_descs,
      and all unneeded mach/irqs.h inclusions on imx have been cleaned up,
      now it's time to select SPARSE_IRQ for imx/mxc.
      
      The SPARSE_IRQ support forces irqs allocation starting from 16.  All
      those static irq number definition for SoCs need to shift 16 to keep
      non-DT boot works.
      
      With all those static IRQ number and start definitions removed from
      mach/irqs.h, the header becomes just a container of a couple of
      mach-imx specific irq/fiq calls.  Since mach/irqs.h is not included
      by asm/irq.h now, the users of mxc_set_irq_fiq needs to explicitly
      include mach/irqs.h themselves.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Acked-by: NSascha Hauer <s.hauer@pengutronix.de>
      8842a9e2
  21. 20 6月, 2012 1 次提交
    • L
      ASoC: dmaengine-pcm: Rename and deprecate snd_dmaengine_pcm_pointer · 9883ab22
      Lars-Peter Clausen 提交于
      Currently the sound dmaengine pcm helper functions implement the pcm_pointer
      callback by trying to count the number of elapsed periods. This is done by
      advancing the stream position in the dmaengine callback by one period.
      Unfortunately there is no guarantee that the callback will be called for each
      elapsed period. It may be possible that under high system load it is only called
      once for multiple elapsed periods. This patch renames the current implementation
      and documents its shortcomings and that it should not be used anymore in new
      drivers.
      
      The next patch will introduce a new snd_dmaengine_pcm_pointer which will be
      implemented based on querying the current stream position from the dma device.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Acked-by Vinod Koul <vinod.koul@linux.intel.com>
      Acked-by: Dong Aisheng <dong.aisheng@linaro.org
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      9883ab22
  22. 05 6月, 2012 1 次提交
  23. 04 6月, 2012 2 次提交
  24. 28 5月, 2012 1 次提交
    • F
      ASoC: imx-ssi: Use clk_prepare_enable/clk_disable_unprepare · 41c73b6e
      Fabio Estevam 提交于
      Fix the following kernel crash:
      
      ------------[ cut here ]------------
      WARNING: at drivers/clk/clk.c:508 __clk_enable+0x9c/0xa8()
      Modules linked in:
      Backtrace:
      [<80011ef4>] (dump_backtrace+0x0/0x10c) from [<803fd48c>] (dump_stack+0x18/0x1c)
       r7:00000009 r6:000001fc r5:803002ac r4:00000000
      [<803fd474>] (dump_stack+0x0/0x1c) from [<8002003c>] (warn_slowpath_common+0x54/0x6c)
      [<8001ffe8>] (warn_slowpath_common+0x0/0x6c) from [<80020078>] (warn_slowpath_null+0x24/0x2c)
       r9:00000090 r8:8600e2c0 r7:8605c808 r6:8605c800 r5:8605d780
      r4:8600e2c0
      [<80020054>] (warn_slowpath_null+0x0/0x2c) from [<803002ac>] (__clk_enable+0x9c/0xa8)
      [<80300210>] (__clk_enable+0x0/0xa8) from [<803002d0>] (clk_enable+0x18/0x30)
       r5:8605d780 r4:80000013
      [<803002b8>] (clk_enable+0x0/0x30) from [<803247c4>] (imx_ssi_probe+0xa0/0x4f4)
       r5:8605d780 r4:86174180
      [<80324724>] (imx_ssi_probe+0x0/0x4f4) from [<8022b0fc>] (platform_drv_probe+0x20/0x24)
      [<8022b0dc>] (platform_drv_probe+0x0/0x24) from [<80229c40>] (driver_probe_device+0x80/0x1f0)
      [<80229bc0>] (driver_probe_device+0x0/0x1f0) from [<80229e44>] (__driver_attach+0x94/0x98)
       r9:00000090 r8:805b7800 r7:00000000 r6:8605c83c r5:805b1b44
      r4:8605c808
      [<80229db0>] (__driver_attach+0x0/0x98) from [<8022856c>] (bus_for_each_dev+0x68/0x94)
       r7:00000000 r6:80229db0 r5:86033eb0 r4:805b1b44
      [<80228504>] (bus_for_each_dev+0x0/0x94) from [<80229aa0>] (driver_attach+0x20/0x28)
       r7:00000000 r6:86174100 r5:8059f6d0 r4:805b1b44
      [<80229a80>] (driver_attach+0x0/0x28) from [<80228d50>] (bus_add_driver+0x18c/0x268)
      [<80228bc4>] (bus_add_driver+0x0/0x268) from [<8022a474>] (driver_register+0x80/0x134)
      [<8022a3f4>] (driver_register+0x0/0x134) from [<8022b4a4>] (platform_driver_register+0x4c/0x60)
       r7:00000000 r6:805b7800 r5:00000018 r4:86032000
      [<8022b458>] (platform_driver_register+0x0/0x60) from [<80556890>] (imx_ssi_driver_init+0x14/0x1c)
      [<8055687c>] (imx_ssi_driver_init+0x0/0x1c) from [<8000868c>] (do_one_initcall+0x40/0x194)
      [<8000864c>] (do_one_initcall+0x0/0x194) from [<8052f3b0>] (kernel_init+0x114/0x1f0)
      [<8052f29c>] (kernel_init+0x0/0x1f0) from [<8002445c>] (do_exit+0x0/0x788)
      ---[ end trace d4aa739205917dbb ]---
      asoc: mc13783-hifi <-> imx-ssi.0 mapping ok
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      41c73b6e