Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.17-rc2 71 lines 1.4 kB view raw
1/* 2 * Line6 Linux USB driver - 0.9.1beta 3 * 4 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation, version 2. 9 * 10 */ 11 12#include <sound/core.h> 13#include <sound/initval.h> 14#include <linux/export.h> 15 16#include "driver.h" 17#include "audio.h" 18 19/* 20 Initialize the Line6 USB audio system. 21*/ 22int line6_init_audio(struct usb_line6 *line6) 23{ 24 struct snd_card *card; 25 int err; 26 27 err = snd_card_new(line6->ifcdev, 28 SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, 29 THIS_MODULE, 0, &card); 30 if (err < 0) 31 return err; 32 33 line6->card = card; 34 35 strcpy(card->id, line6->properties->id); 36 strcpy(card->driver, DRIVER_NAME); 37 strcpy(card->shortname, line6->properties->name); 38 /* longname is 80 chars - see asound.h */ 39 sprintf(card->longname, "Line6 %s at USB %s", line6->properties->name, 40 dev_name(line6->ifcdev)); 41 return 0; 42} 43 44/* 45 Register the Line6 USB audio system. 46*/ 47int line6_register_audio(struct usb_line6 *line6) 48{ 49 int err; 50 51 err = snd_card_register(line6->card); 52 if (err < 0) 53 return err; 54 55 return 0; 56} 57 58/* 59 Cleanup the Line6 USB audio system. 60*/ 61void line6_cleanup_audio(struct usb_line6 *line6) 62{ 63 struct snd_card *card = line6->card; 64 65 if (card == NULL) 66 return; 67 68 snd_card_disconnect(card); 69 snd_card_free(card); 70 line6->card = NULL; 71}