linux/sound/firewire/fireworks/fireworks.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * fireworks.c - a part of driver for Fireworks based devices
 *
 * Copyright (c) 2009-2010 Clemens Ladisch
 * Copyright (c) 2013-2014 Takashi Sakamoto
 */

/*
 * Fireworks is a board module which Echo Audio produced. This module consists
 * of three chipsets:
 *  - Communication chipset for IEEE1394 PHY/Link and IEC 61883-1/6
 *  - DSP or/and FPGA for signal processing
 *  - Flash Memory to store firmwares
 */

#include "fireworks.h"

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

static int index[SNDRV_CARDS]	=;
static char *id[SNDRV_CARDS]	=;
static bool enable[SNDRV_CARDS]	=;
unsigned int snd_efw_resp_buf_size	=;
bool snd_efw_resp_buf_debug		=;

module_param_array();
MODULE_PARM_DESC();
module_param_array();
MODULE_PARM_DESC();
module_param_array();
MODULE_PARM_DESC();
module_param_named(resp_buf_size, snd_efw_resp_buf_size, uint, 0444);
MODULE_PARM_DESC();
module_param_named(resp_buf_debug, snd_efw_resp_buf_debug, bool, 0444);
MODULE_PARM_DESC();

static DEFINE_MUTEX(devices_mutex);
static DECLARE_BITMAP(devices_used, SNDRV_CARDS);

#define VENDOR_LOUD
#define MODEL_MACKIE_400F
#define MODEL_MACKIE_1200F

#define VENDOR_ECHO
#define MODEL_ECHO_AUDIOFIRE_12
#define MODEL_ECHO_AUDIOFIRE_12HD
#define MODEL_ECHO_AUDIOFIRE_12_APPLE
/* This is applied for AudioFire8 (until 2009 July) */
#define MODEL_ECHO_AUDIOFIRE_8
#define MODEL_ECHO_AUDIOFIRE_2
#define MODEL_ECHO_AUDIOFIRE_4
/* AudioFire9 is applied for AudioFire8(since 2009 July) and AudioFirePre8 */
#define MODEL_ECHO_AUDIOFIRE_9
/* unknown as product */
#define MODEL_ECHO_FIREWORKS_8
#define MODEL_ECHO_FIREWORKS_HDMI

#define VENDOR_GIBSON
/* for Robot Interface Pack of Dark Fire, Dusk Tiger, Les Paul Standard 2010 */
#define MODEL_GIBSON_RIP
/* unknown as product */
#define MODEL_GIBSON_GOLDTOP

/* part of hardware capability flags */
#define FLAG_RESP_ADDR_CHANGABLE

static int
get_hardware_info(struct snd_efw *efw)
{}

static void
efw_card_free(struct snd_card *card)
{}

static int efw_probe(struct fw_unit *unit, const struct ieee1394_device_id *entry)
{}

static void efw_update(struct fw_unit *unit)
{}

static void efw_remove(struct fw_unit *unit)
{}

#define SPECIFIER_1394TA
#define VERSION_EFW

#define SND_EFW_DEV_ENTRY(vendor, model)

static const struct ieee1394_device_id efw_id_table[] =;
MODULE_DEVICE_TABLE(ieee1394, efw_id_table);

static struct fw_driver efw_driver =;

static int __init snd_efw_init(void)
{}

static void __exit snd_efw_exit(void)
{}

module_init();
module_exit(snd_efw_exit);