#include <linux/dma-mapping.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/soc.h>
#include "aio.h"
static const struct snd_pcm_hardware uniphier_aiodma_hw = …;
static void aiodma_pcm_irq(struct uniphier_aio_sub *sub)
{ … }
static void aiodma_compr_irq(struct uniphier_aio_sub *sub)
{ … }
static irqreturn_t aiodma_irq(int irq, void *p)
{ … }
static int uniphier_aiodma_open(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int uniphier_aiodma_prepare(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int uniphier_aiodma_trigger(struct snd_soc_component *component,
struct snd_pcm_substream *substream, int cmd)
{ … }
static snd_pcm_uframes_t uniphier_aiodma_pointer(
struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int uniphier_aiodma_mmap(struct snd_soc_component *component,
struct snd_pcm_substream *substream,
struct vm_area_struct *vma)
{ … }
static int uniphier_aiodma_new(struct snd_soc_component *component,
struct snd_soc_pcm_runtime *rtd)
{ … }
static const struct snd_soc_component_driver uniphier_soc_platform = …;
static const struct regmap_config aiodma_regmap_config = …;
int uniphier_aiodma_soc_register_platform(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_GPL(…);