Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86b5f3ec authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/line6' into for-next

parents 2a52b6ee c078a4aa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -25,4 +25,4 @@ obj-$(CONFIG_SND_USB_USX2Y) += snd-usbmidi-lib.o
obj-$(CONFIG_SND_USB_US122L) += snd-usbmidi-lib.o

obj-$(CONFIG_SND) += misc/ usx2y/ caiaq/ 6fire/ hiface/ bcd2000/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_SND_USB_LINE6)	+= line6/
+22 −20
Original line number Diff line number Diff line
menuconfig LINE6_USB
	tristate "Line6 USB support"
	depends on USB && SND
config SND_USB_LINE6
	tristate
	select SND_RAWMIDI
	select SND_PCM

config SND_USB_POD
	tristate "Line 6 POD USB support"
	select SND_USB_LINE6
	help
	  This is a driver for the guitar amp, cab, and effects modeller
	  PODxt Pro by Line6 (and similar devices), supporting the
	  following features:
	  This is a driver for PODxt and other similar devices,
	  supporting the following features:
	    * Reading/writing individual parameters
	    * Reading/writing complete channel, effects setup, and amp
	      setup data
@@ -18,21 +20,21 @@ menuconfig LINE6_USB
	    * Signal routing (record clean/processed guitar signal,
	      re-amping)

	  Preliminary support for the Variax Workbench and TonePort
	  devices is included.

if LINE6_USB
config SND_USB_PODHD
	tristate "Line 6 POD HD300/400/500 USB support"
	select SND_USB_LINE6
	help
	  This is a driver for POD HD300, 400 and 500 devices.

config LINE6_USB_IMPULSE_RESPONSE
	bool "measure impulse response"
	default n
config SND_USB_TONEPORT
	tristate "TonePort GX, UX1 and UX2 USB support"
	select SND_USB_LINE6
	help
	  Say Y here to add code to measure the impulse response of a Line6
	  device. This is more accurate than user-space methods since it
	  bypasses any PCM data buffering (e.g., by ALSA or jack). This is
	  useful for assessing the performance of new devices, but is not
	  required for normal operation.
	  This is a driver for TonePort GX, UX1 and UX2 devices.

	  If unsure, say N.
config SND_USB_VARIAX
	tristate "Variax Workbench USB support"
	select SND_USB_LINE6
	help
	  This is a driver for Variax Workbench device.
endif # LINE6_USB
+13 −9
Original line number Diff line number Diff line
obj-$(CONFIG_LINE6_USB)		+= line6usb.o

line6usb-y := 		\
		audio.o		\
snd-usb-line6-y := 		\
		capture.o	\
		driver.o	\
		midi.o		\
		midibuf.o	\
		pcm.o		\
		playback.o	\
		pod.o		\
		toneport.o	\
		variax.o	\
		podhd.o
		playback.o

snd-usb-pod-y := pod.o
snd-usb-podhd-y := podhd.o
snd-usb-toneport-y := toneport.o
snd-usb-variax-y := variax.o

obj-$(CONFIG_SND_USB_LINE6)	+= snd-usb-line6.o
obj-$(CONFIG_SND_USB_POD)	+= snd-usb-pod.o
obj-$(CONFIG_SND_USB_PODHD)	+= snd-usb-podhd.o
obj-$(CONFIG_SND_USB_TONEPORT)	+= snd-usb-toneport.o
obj-$(CONFIG_SND_USB_VARIAX)	+= snd-usb-variax.o

sound/usb/line6/audio.c

deleted100644 → 0
+0 −71
Original line number Diff line number Diff line
/*
 * Line6 Linux USB driver - 0.9.1beta
 *
 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
 *
 *	This program is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU General Public License as
 *	published by the Free Software Foundation, version 2.
 *
 */

#include <sound/core.h>
#include <sound/initval.h>
#include <linux/export.h>

#include "driver.h"
#include "audio.h"

/*
	Initialize the Line6 USB audio system.
*/
int line6_init_audio(struct usb_line6 *line6)
{
	struct snd_card *card;
	int err;

	err = snd_card_new(line6->ifcdev,
			   SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
			   THIS_MODULE, 0, &card);
	if (err < 0)
		return err;

	line6->card = card;

	strcpy(card->id, line6->properties->id);
	strcpy(card->driver, DRIVER_NAME);
	strcpy(card->shortname, line6->properties->name);
	/* longname is 80 chars - see asound.h */
	sprintf(card->longname, "Line6 %s at USB %s", line6->properties->name,
		dev_name(line6->ifcdev));
	return 0;
}

/*
	Register the Line6 USB audio system.
*/
int line6_register_audio(struct usb_line6 *line6)
{
	int err;

	err = snd_card_register(line6->card);
	if (err < 0)
		return err;

	return 0;
}

/*
	Cleanup the Line6 USB audio system.
*/
void line6_cleanup_audio(struct usb_line6 *line6)
{
	struct snd_card *card = line6->card;

	if (card == NULL)
		return;

	snd_card_disconnect(card);
	snd_card_free(card);
	line6->card = NULL;
}

sound/usb/line6/audio.h

deleted100644 → 0
+0 −21
Original line number Diff line number Diff line
/*
 * Line6 Linux USB driver - 0.9.1beta
 *
 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
 *
 *	This program is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU General Public License as
 *	published by the Free Software Foundation, version 2.
 *
 */

#ifndef AUDIO_H
#define AUDIO_H

#include "driver.h"

extern void line6_cleanup_audio(struct usb_line6 *);
extern int line6_init_audio(struct usb_line6 *);
extern int line6_register_audio(struct usb_line6 *);

#endif
Loading