1. 21 11月, 2015 1 次提交
    • A
      ASoC: samsung: pass filter function as pointer · 9bdca822
      Arnd Bergmann 提交于
      As we are now passing the filter data as pointers to the drivers,
      we can take the final step and also pass the filter function the
      same way. I'm keeping this change separate, as there it's less
      obvious that this is a net win.
      
      Upsides of this are:
      
      - The ASoC drivers are completely independent from the DMA engine
        implementation, which simplifies the Kconfig logic and in theory
        allows the same sound drivers to be built in a kernel that supports
        different kinds of dmaengine drivers.
      
      - Consistency with other subsystems and drivers
      
      On the other hand, we have a few downsides:
      
      - The s3c24xx-dma driver now needs to be built-in for the ac97 platform
        device to be instantiated on s3c2440.
      
      - samsung_dmaengine_pcm_config cannot be marked 'const' any more
        because the filter function pointer needs to be set at runtime.
        This is safe as long we don't have multiple different DMA engines
        in thet same system at runtime, but is nonetheless ugly.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9bdca822
  2. 19 11月, 2015 2 次提交
    • A
      ASoC: s3c24xx-i2s: pass DMA channels as platform data · 359fdfa6
      Arnd Bergmann 提交于
      This is a minor cleanup to make the s3c2412-i2s and s3c24xx-i2s
      drivers independent of the mach/dma.h header file and to allow
      removing the dependency on the specific dmaengine driver in the
      next patch.
      
      As a side not, only the s3c24xx-i2s driver seems to still be
      used, while the definition of the s3c2412-i2s platform device was
      removed in commit 6d259a25 ("ARM: SAMSUNG: use static
      declaration when it is not used in other files") after it had
      never been referenced since its introduction in f0fba2ad
      ("ASoC: multi-component - ASoC Multi-Component Support").
      
      Apparently it should have been used by mach-jive.c, but that
      never happened. My patch at this point leaves the current state
      unchanged, we can decide whether to fix or delete the jive
      driver and s3c2412-i2s another time.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      359fdfa6
    • A
      ASoC: samsung: pass DMA channels as pointers · b9a1a743
      Arnd Bergmann 提交于
      ARM64 allmodconfig produces a bunch of warnings when building the
      samsung ASoC code:
      
      sound/soc/samsung/dmaengine.c: In function 'samsung_asoc_init_dma_data':
      sound/soc/samsung/dmaengine.c:53:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         playback_data->filter_data = (void *)playback->channel;
      sound/soc/samsung/dmaengine.c:60:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         capture_data->filter_data = (void *)capture->channel;
      
      We could easily shut up the warning by adding an intermediate cast,
      but there is a bigger underlying problem: The use of IORESOURCE_DMA
      to pass data from platform code to device drivers is dubious to start
      with, as what we really want is a pointer that can be passed into
      a filter function.
      
      Note that on s3c64xx, the pl08x DMA data is already a pointer, but
      gets cast to resource_size_t so we can pass it as a resource, and it
      then gets converted back to a pointer. In contrast, the data we pass
      for s3c24xx is an index into a device specific table, and we artificially
      convert that into a pointer for the filter function.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b9a1a743
  3. 27 9月, 2015 1 次提交
  4. 30 7月, 2015 14 次提交
  5. 06 6月, 2015 2 次提交
    • K
      ARM: SAMSUNG: Constify platform_device_id · e6350c57
      Krzysztof Kozlowski 提交于
      The platform_device_id is not modified by the driver and core
      uses it as const.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com>
      Signed-off-by: NKukjin Kim <kgene@kernel.org>
      e6350c57
    • S
      ARM: SAMSUNG: fix clk_enable() WARNing in S3C24XX ADC · 0c5f989f
      Sergiy Kibrik 提交于
      Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
      calls as required by common clock framework. Removes this warning on probe:
      
       ------------[ cut here ]------------
       WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:889 __clk_enable+0x28/0x9c()
       Modules linked in:
       CPU: 0 PID: 1 Comm: swapper Not tainted 3.19.0+ #46
       [<c0013a98>] (unwind_backtrace) from [<c0010d8c>] (show_stack+0x10/0x14)
       [<c0010d8c>] (show_stack) from [<c001b018>] (warn_slowpath_common+0x7c/0xa4)
       [<c001b018>] (warn_slowpath_common) from [<c001b0d0>] (warn_slowpath_null+0x18/0x20)
       [<c001b0d0>] (warn_slowpath_null) from [<c01a5f80>] (__clk_enable+0x28/0x9c)
       [<c01a5f80>] (__clk_enable) from [<c01a600c>] (clk_enable+0x18/0x2c)
       [<c01a600c>] (clk_enable) from [<c001860c>] (s3c_adc_probe+0x11c/0x18c)
       [<c001860c>] (s3c_adc_probe) from [<c0153a10>] (platform_drv_probe+0x30/0x78)
       [<c0153a10>] (platform_drv_probe) from [<c01523e0>] (driver_probe_device+0xb0/0x1fc)
       [<c01523e0>] (driver_probe_device) from [<c01525dc>] (__driver_attach+0x68/0x88)
       [<c01525dc>] (__driver_attach) from [<c0150df0>] (bus_for_each_dev+0x70/0x94)
       [<c0150df0>] (bus_for_each_dev) from [<c0151c80>] (bus_add_driver+0xdc/0x1c4)
       [<c0151c80>] (bus_add_driver) from [<c0152ba4>] (driver_register+0x9c/0xe0)
       [<c0152ba4>] (driver_register) from [<c03041cc>] (adc_init+0x10/0x34)
       [<c03041cc>] (adc_init) from [<c00087fc>] (do_one_initcall+0x110/0x1cc)
       [<c00087fc>] (do_one_initcall) from [<c02ffccc>] (kernel_init_freeable+0xf4/0x1ac)
       [<c02ffccc>] (kernel_init_freeable) from [<c022f4fc>] (kernel_init+0x8/0xe0)
       [<c022f4fc>] (kernel_init) from [<c000e098>] (ret_from_fork+0x14/0x3c)
       ---[ end trace f4a1ea39a114fecf ]---
      Signed-off-by: NSergiy Kibrik <sakib@meta.ua>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com>
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NKukjin Kim <kgene@kernel.org>
      0c5f989f
  6. 27 2月, 2015 3 次提交
    • A
      ARM: S3C24XX: fix header file inclusions · 1fe054e7
      Arnd Bergmann 提交于
      The pm-core.h file does not include all the necessary headers,
      and has a static declaration for a function that is not
      defined in the same file, causing SAMSUNG_PM_DEBUG to
      break on s3c24xx:
      
      arch/arm/mach-s3c24xx/include/mach/pm-core.h:50:91: warning: 's3c_pm_show_resume_irqs' used but never defined
      arch/arm/mach-s3c24xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart':
      arch/arm/mach-s3c24xx/include/mach/pm-core.h:16:34: error: 'S3C2410_CLKCON' undeclared (first use in this function)
        unsigned long tmp = __raw_readl(S3C2410_CLKCON);
                                        ^
      
      This moves the code around slightly to avoid the errors.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKukjin Kim <kgene@kernel.org>
      1fe054e7
    • A
      ARM: S3C24XX: fix building without PM_SLEEP · 4f506daf
      Arnd Bergmann 提交于
      We get lots of link errors based on the assumption that
      any s3c24xx kernel would enable CONFIG_PM_SLEEP if it
      enables CONFIG_PM. This tries to clean that up.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKukjin Kim <kgene@kernel.org>
      4f506daf
    • A
      ARM: S3C64XX: fix building without CONFIG_PM_SLEEP · 484c213b
      Arnd Bergmann 提交于
      arch/arm/mach-s3c64xx/built-in.o: In function `s3c_pm_restore_core':
      :(.text+0x5d0): undefined reference to `s3c_pm_do_restore_core'
      :(.text+0x5d4): undefined reference to `s3c_pm_do_restore'
      arch/arm/mach-s3c64xx/built-in.o: In function `s3c_pm_save_core':
      :(.text+0x60c): undefined reference to `s3c_pm_do_save'
      arch/arm/mach-s3c64xx/built-in.o: In function `s3c64xx_irq_pm_resume':
      :(.text+0x670): undefined reference to `s3c_pm_do_restore'
      arch/arm/mach-s3c64xx/built-in.o: In function `s3c64xx_irq_pm_suspend':
      :(.text+0x6d8): undefined reference to `s3c_pm_do_save'
      arch/arm/mach-s3c64xx/built-in.o: In function `s3c_cpu_resume':
      :(.text+0x71c): undefined reference to `cpu_resume'
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKukjin Kim <kgene@kernel.org>
      484c213b
  7. 24 1月, 2015 1 次提交
  8. 22 12月, 2014 1 次提交
  9. 13 11月, 2014 1 次提交
  10. 20 10月, 2014 2 次提交
  11. 02 10月, 2014 2 次提交
  12. 24 9月, 2014 1 次提交
  13. 23 7月, 2014 1 次提交
    • P
      ARM: EXYNOS: Refactored code for using PMU address via DT · 2e94ac42
      Pankaj Dubey 提交于
      Under "arm/mach-exynos" many files are using PMU register offsets.
      Since we have added support for accessing PMU base address via DT,
      now we can remove PMU mapping from exynosX_iodesc. Let's convert
      all these access using iomapped address.
      This will help us in removing static mapping of PMU base address
      as well as help in reducing dependency over machine header files.
      Thus helping for migration of PMU implementation from machine to
      driver folder which can be reused for ARM64 based SoC.
      
      Also as we have removed static mappings from "regs-pmu.h" it does
      not need map.h anymore. But "platsmp.c" needed this and till now it
      got included indirectly. So lets move header inclusion of
      "mach/map.h" from "regs-pmu.h" to "platsmp.c".
      Signed-off-by: NPankaj Dubey <pankaj.dubey@samsung.com>
      Reviewed-by: NTomasz Figa <t.figa@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      2e94ac42
  14. 19 7月, 2014 5 次提交
  15. 13 7月, 2014 1 次提交
  16. 08 7月, 2014 1 次提交
  17. 01 7月, 2014 1 次提交