#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/err.h>
#include <linux/io.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
#include <linux/dma-mapping.h>
#include "amd.h"
#include "../mach-config.h"
#include "acp-mach.h"
#define DRV_NAME …
static const struct snd_pcm_hardware acp_pcm_hardware_playback = …;
static const struct snd_pcm_hardware acp_pcm_hardware_capture = …;
int acp_machine_select(struct acp_dev_data *adata)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
static irqreturn_t i2s_irq_handler(int irq, void *data)
{ … }
void config_pte_for_stream(struct acp_dev_data *adata, struct acp_stream *stream)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
void config_acp_dma(struct acp_dev_data *adata, struct acp_stream *stream, int size)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
static int acp_dma_open(struct snd_soc_component *component, struct snd_pcm_substream *substream)
{ … }
static int acp_dma_hw_params(struct snd_soc_component *component,
struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{ … }
static snd_pcm_uframes_t acp_dma_pointer(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static int acp_dma_new(struct snd_soc_component *component,
struct snd_soc_pcm_runtime *rtd)
{ … }
static int acp_dma_close(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{ … }
static const struct snd_soc_component_driver acp_pcm_component = …;
int acp_platform_register(struct device *dev)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
int acp_platform_unregister(struct device *dev)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…);