[alsa-devel] [PATCH 19/39] fireworks: Add skelton for Fireworks based devices
Takashi Iwai
tiwai at suse.de
Fri Feb 28 07:51:37 CET 2014
At Fri, 28 Feb 2014 12:27:32 +0900,
Takashi Sakamoto wrote:
>
> This commit adds a new driver with no functionality. This driver just
> creates/removes card instance according to callbacks.
>
> 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
>
> Current supported devices:
> - Mackie Onyx 400F/1200F
> - Echo AudioFire12/8(until 2009 July)
> - Echo AudioFire2/4/Pre8/8(since 2009 July)
> - Echo Fireworks 8/HDMI
> - Gibson Robot Interface pack/GoldTop
>
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
> ---
> sound/firewire/Kconfig | 14 +++
> sound/firewire/Makefile | 1 +
> sound/firewire/fireworks/Makefile | 2 +
> sound/firewire/fireworks/fireworks.c | 180 +++++++++++++++++++++++++++++++++++
> sound/firewire/fireworks/fireworks.h | 41 ++++++++
> 5 files changed, 238 insertions(+)
> create mode 100644 sound/firewire/fireworks/Makefile
> create mode 100644 sound/firewire/fireworks/fireworks.c
> create mode 100644 sound/firewire/fireworks/fireworks.h
>
> diff --git a/sound/firewire/Kconfig b/sound/firewire/Kconfig
> index b3e274f..8cd4f1f 100644
> --- a/sound/firewire/Kconfig
> +++ b/sound/firewire/Kconfig
> @@ -61,4 +61,18 @@ config SND_SCS1X
> To compile this driver as a module, choose M here: the module
> will be called snd-scs1x.
>
> +config SND_FIREWORKS
> + tristate "Echo Fireworks board module support"
> + help
> + Say Y here to include support for FireWire devices based
> + on Echo Digital Audio Fireworks board:
> + * Mackie Onyx 400F/1200F
> + * Echo AudioFire12/8(until 2009 July)
> + * Echo AudioFire2/4/Pre8/8(since 2009 July)
> + * Echo Fireworks 8/HDMI
> + * Gibson Robot Interface Pack/GoldTop
> +
> + To compile this driver as a module, choose M here: the module
> + will be called snd-fireworks.
> +
> endif # SND_FIREWIRE
> diff --git a/sound/firewire/Makefile b/sound/firewire/Makefile
> index 5099550..5cd39dc 100644
> --- a/sound/firewire/Makefile
> +++ b/sound/firewire/Makefile
> @@ -10,3 +10,4 @@ obj-$(CONFIG_SND_DICE) += snd-dice.o
> obj-$(CONFIG_SND_FIREWIRE_SPEAKERS) += snd-firewire-speakers.o
> obj-$(CONFIG_SND_ISIGHT) += snd-isight.o
> obj-$(CONFIG_SND_SCS1X) += snd-scs1x.o
> +obj-$(CONFIG_SND_FIREWORKS) += fireworks/
> diff --git a/sound/firewire/fireworks/Makefile b/sound/firewire/fireworks/Makefile
> new file mode 100644
> index 0000000..99f6fc3
> --- /dev/null
> +++ b/sound/firewire/fireworks/Makefile
> @@ -0,0 +1,2 @@
> +snd-fireworks-objs := fireworks.o
> +obj-m += snd-fireworks.o
> diff --git a/sound/firewire/fireworks/fireworks.c b/sound/firewire/fireworks/fireworks.c
> new file mode 100644
> index 0000000..4a3f79e
> --- /dev/null
> +++ b/sound/firewire/fireworks/fireworks.c
> @@ -0,0 +1,180 @@
> +/*
> + * fireworks.c - a part of driver for Fireworks based devices
> + *
> + * Copyright (c) 2009-2010 Clemens Ladisch
> + * Copyright (c) 2013 Takashi Sakamoto
> + *
> + * Licensed under the terms of the GNU General Public License, version 2.
> + */
> +
> +/*
> + * 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("Echo Fireworks driver");
> +MODULE_AUTHOR("Takashi Sakamoto <o-takashi at sakamocchi.jp>");
> +MODULE_LICENSE("GPL v2");
> +
> +static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;
> +static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;
> +static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;
> +
> +module_param_array(index, int, NULL, 0444);
> +MODULE_PARM_DESC(index, "card index");
> +module_param_array(id, charp, NULL, 0444);
> +MODULE_PARM_DESC(id, "ID string");
> +module_param_array(enable, bool, NULL, 0444);
> +MODULE_PARM_DESC(enable, "enable Fireworks sound card");
> +
> +static DEFINE_MUTEX(devices_mutex);
> +static unsigned int devices_used;
Now we may handle more than 32 cards, depending on Kconfig.
Use bitmap instead.
thanks,
Takashi
More information about the Alsa-devel
mailing list