[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