#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/dma-mapping.h>
#include <linux/mbus.h>
#include <sound/soc.h>
#include "kirkwood.h"
static struct kirkwood_dma_data *kirkwood_priv(struct snd_pcm_substream *subs)
{ … }
static const struct snd_pcm_hardware kirkwood_dma_snd_hw = …;
static irqreturn_t kirkwood_dma_irq(int irq, void *dev_id)
{ … }
static void
kirkwood_dma_conf_mbus_windows(void __iomem *base, int win,
unsigned long dma,
const struct mbus_dram_target_info *dram)
{ … }
static int kirkwood_dma_open(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int kirkwood_dma_close(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int kirkwood_dma_hw_params(struct snd_soc_component *component,
struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{ … }
static int kirkwood_dma_prepare(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static snd_pcm_uframes_t kirkwood_dma_pointer(
struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int kirkwood_dma_new(struct snd_soc_component *component,
struct snd_soc_pcm_runtime *rtd)
{ … }
const struct snd_soc_component_driver kirkwood_soc_component = …;