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

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

#include <linux/dma-mapping.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>

#include "../interface/vchiq_arm/vchiq_bus.h"
#include "bcm2835.h"

static bool enable_hdmi;
static bool enable_headphones =;
static int num_channels =;

module_param(enable_hdmi, bool, 0444);
MODULE_PARM_DESC();
module_param(enable_headphones, bool, 0444);
MODULE_PARM_DESC();
module_param(num_channels, int, 0644);
MODULE_PARM_DESC();

static void bcm2835_devm_free_vchi_ctx(struct device *dev, void *res)
{}

static int bcm2835_devm_add_vchi_ctx(struct device *dev)
{}

struct bcm2835_audio_driver {};

static int bcm2835_audio_dual_newpcm(struct bcm2835_chip *chip,
				     const char *name,
				     enum snd_bcm2835_route route,
				     u32 numchannels)
{}

static int bcm2835_audio_simple_newpcm(struct bcm2835_chip *chip,
				       const char *name,
				       enum snd_bcm2835_route route,
				       u32 numchannels)
{}

static struct bcm2835_audio_driver bcm2835_audio_hdmi =;

static struct bcm2835_audio_driver bcm2835_audio_headphones =;

struct bcm2835_audio_drivers {};

static struct bcm2835_audio_drivers children_devices[] =;

static void bcm2835_card_free(void *data)
{}

static int snd_add_child_device(struct device *dev,
				struct bcm2835_audio_driver *audio_driver,
				u32 numchans)
{}

static int snd_add_child_devices(struct device *device, u32 numchans)
{}

static int snd_bcm2835_alsa_probe(struct vchiq_device *device)
{}

#ifdef CONFIG_PM

static int snd_bcm2835_alsa_suspend(struct vchiq_device *device,
				    pm_message_t state)
{}

static int snd_bcm2835_alsa_resume(struct vchiq_device *device)
{}

#endif

static struct vchiq_device_id device_id_table[] =;
MODULE_DEVICE_TABLE(vchiq, device_id_table);

static struct vchiq_driver bcm2835_alsa_driver =;
module_vchiq_driver();

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