• Arnd Bergmann's avatar
    ASoC: samsung: pass filter function as pointer · 9bdca822
    Arnd Bergmann authored
    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: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    9bdca822
i2s.c 35.5 KB