linux/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright 2011 Broadcom Corporation.  All rights reserved. */

#include <linux/interrupt.h>
#include <linux/slab.h>

#include <sound/asoundef.h>

#include "bcm2835.h"

/* hardware definition */
static const struct snd_pcm_hardware snd_bcm2835_playback_hw =;

static const struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw =;

static void snd_bcm2835_playback_free(struct snd_pcm_runtime *runtime)
{}

void bcm2835_playback_fifo(struct bcm2835_alsa_stream *alsa_stream,
			   unsigned int bytes)
{}

/* open callback */
static int snd_bcm2835_playback_open_generic(struct snd_pcm_substream *substream, int spdif)
{}

static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream)
{}

static int snd_bcm2835_playback_spdif_open(struct snd_pcm_substream *substream)
{}

static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream)
{}

static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
{}

static void snd_bcm2835_pcm_transfer(struct snd_pcm_substream *substream,
				     struct snd_pcm_indirect *rec, size_t bytes)
{}

static int snd_bcm2835_pcm_ack(struct snd_pcm_substream *substream)
{}

/* trigger callback */
static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
{}

/* pointer callback */
static snd_pcm_uframes_t
snd_bcm2835_pcm_pointer(struct snd_pcm_substream *substream)
{}

/* operators */
static const struct snd_pcm_ops snd_bcm2835_playback_ops =;

static const struct snd_pcm_ops snd_bcm2835_playback_spdif_ops =;

/* create a pcm device */
int snd_bcm2835_new_pcm(struct bcm2835_chip *chip, const char *name,
			int idx, enum snd_bcm2835_route route,
			u32 numchannels, bool spdif)
{}