linux/sound/soc/meson/axg-fifo.c

// SPDX-License-Identifier: (GPL-2.0 OR MIT)
//
// Copyright (c) 2018 BayLibre, SAS.
// Author: Jerome Brunet <[email protected]>

#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/reset.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>

#include "axg-fifo.h"

/*
 * This file implements the platform operations common to the playback and
 * capture frontend DAI. The logic behind this two types of fifo is very
 * similar but some difference exist.
 * These differences are handled in the respective DAI drivers
 */

static const struct snd_pcm_hardware axg_fifo_hw =;

static struct snd_soc_dai *axg_fifo_dai(struct snd_pcm_substream *ss)
{}

static struct axg_fifo *axg_fifo_data(struct snd_pcm_substream *ss)
{}

static struct device *axg_fifo_dev(struct snd_pcm_substream *ss)
{}

static void __dma_enable(struct axg_fifo *fifo,  bool enable)
{}

int axg_fifo_pcm_trigger(struct snd_soc_component *component,
			 struct snd_pcm_substream *ss, int cmd)
{}
EXPORT_SYMBOL_GPL();

snd_pcm_uframes_t axg_fifo_pcm_pointer(struct snd_soc_component *component,
				       struct snd_pcm_substream *ss)
{}
EXPORT_SYMBOL_GPL();

int axg_fifo_pcm_hw_params(struct snd_soc_component *component,
			   struct snd_pcm_substream *ss,
			   struct snd_pcm_hw_params *params)
{}
EXPORT_SYMBOL_GPL();

int g12a_fifo_pcm_hw_params(struct snd_soc_component *component,
			    struct snd_pcm_substream *ss,
			    struct snd_pcm_hw_params *params)
{}
EXPORT_SYMBOL_GPL();

int axg_fifo_pcm_hw_free(struct snd_soc_component *component,
			 struct snd_pcm_substream *ss)
{}
EXPORT_SYMBOL_GPL();

static void axg_fifo_ack_irq(struct axg_fifo *fifo, u8 mask)
{}

static irqreturn_t axg_fifo_pcm_irq_block(int irq, void *dev_id)
{}

int axg_fifo_pcm_open(struct snd_soc_component *component,
		      struct snd_pcm_substream *ss)
{}
EXPORT_SYMBOL_GPL();

int axg_fifo_pcm_close(struct snd_soc_component *component,
		       struct snd_pcm_substream *ss)
{}
EXPORT_SYMBOL_GPL();

int axg_fifo_pcm_new(struct snd_soc_pcm_runtime *rtd, unsigned int type)
{}
EXPORT_SYMBOL_GPL();

static const struct regmap_config axg_fifo_regmap_cfg =;

int axg_fifo_probe(struct platform_device *pdev)
{}
EXPORT_SYMBOL_GPL();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();