sceptic 2014-01-07 23:30:34 #
маркирую стоя
sceptic 2014-01-07 23:31:39 #
оу
у меня псто разуплотнило
sceptic 2014-01-07 23:32:05 #
Хром 31 есле что
Шынджы 2014-01-07 23:33:02 #
У меня чип! Найдите мне кошко!
я и баал 2014-01-07 23:44:50 #
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

/*
* Linux driver for TerraTec DMX 6Fire USB
*
* Main routines and module definitions.
*
* Author: Torsten Schenk <torsten.schenk@zoho.com>
* Created: Jan 01, 2011
* Copyright: (C) Torsten Schenk
*
* 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; either version 2 of the License, or
* (at your option) any later version.
*/

#include "chip.h"
#include "firmware.h"
#include "pcm.h"
#include "control.h"
#include "comm.h"
#include "midi.h"

#include <linux/moduleparam.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/gfp.h>
#include <sound/initval.h>

MODULE_AUTHOR("Torsten Schenk <torsten.schenk@zoho.com>");
MODULE_DESCRIPTION("TerraTec DMX 6Fire USB audio driver");
MODULE_LICENSE("GPL v2");
MODULE_SUPPORTED_DEVICE("{{TerraTec, DMX 6Fire USB}}");

static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-max */
static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* Id for card */
static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable card */
static struct sfire_chip *chips[SNDRV_CARDS] = SNDRV_DEFAULT_PTR;
static struct usb_device *devices[SNDRV_CARDS] = SNDRV_DEFAULT_PTR;

module_param_array(index, int, NULL, 0444);
MODULE_PARM_DESC(index, "Index value for the 6fire sound device");
module_param_array(id, charp, NULL, 0444);
MODULE_PARM_DESC(id, "ID string for the 6fire sound device.");
module_param_array(enable, bool, NULL, 0444);
MODULE_PARM_DESC(enable, "Enable the 6fire sound device.");

static DEFINE_MUTEX(register_mutex);

static void usb6fire_chip_abort(struct sfire_chip *chip)
{
if (chip) {
if (chip->pcm)
usb6fire_pcm_abort(chip);
if (chip->midi)
usb6fire_midi_abort(chip);
if (chip->comm)
usb6fire_comm_abort(chip);
if (chip->control)
usb6fire_control_abort(chip);
if (chip->card) {
snd_card_disconnect(chip->card);
snd_card_free_when_closed(chip->card);
chip->card = NULL;
}
}
}

static void usb6fire_chip_destroy(struct sfire_chip *chip)
{
if (chip) {
if (chip->pcm)
usb6fire_pcm_destroy(chip);
if (chip->midi)
usb6fire_midi_destroy(chip);
if (chip->comm)
usb6fire_comm_destroy(chip);
if (chip->control)
usb6fire_control_destroy(chip);
if (chip->card)
snd_card_free(chip->card);
}
}

static int __devinit usb6fire_chip_probe(struct usb_interface *intf,
const struct usb_device_id *usb_id)
{
int ret;
int i;
struct sfire_chip *chip = NULL;
struct usb_device *device = interface_to_usbdev(intf);
int regidx = -1; /* index in module parameter array */
struct snd_card *card = NULL;

/* look if we already serve this card and return if so */
mutex_lock(®ister_mutex);
for (i = 0; i < SNDRV_CARDS; i++) {
if (devices == device) {
if (chips)
chips->intf_count++;
usb_set_intfdata(intf, chips);
mutex_unlock(®ister_mutex);
return 0;
} else if (regidx < 0)
regidx = i;
}
if (regidx < 0) {
mutex_unlock(®ister_mutex);
snd_printk(KERN_ERR PREFIX "too many cards registered.\n");
return -ENODEV;
}
devices[regidx] = device;
mutex_unlock(®ister_mutex);

/* check, if firmware is present on device, upload it if not */
ret = usb6fire_fw_init(intf);
if (ret < 0)
return ret;
else if (ret == FW_NOT_READY) /* firmware update performed */
return 0;

/* if we are here, card can be registered in alsa. */
if (usb_set_interface(device, 0, 0) != 0) {
snd_printk(KERN_ERR PREFIX "can't set first interface.\n");
return -EIO;
}
ret = snd_card_create(index[regidx], id[regidx], THIS_MODULE,
sizeof(struct sfire_chip), &card);
if (ret < 0) {
snd_printk(KERN_ERR PREFIX "cannot create alsa card.\n");
return ret;
}
strcpy(card->driver, "6FireUSB");
strcpy(card->shortname, "TerraTec DMX6FireUSB");
sprintf(card->longname, "%s at %d:%d", card->shortname,
device->bus->busnum, device->devnum);
snd_card_set_dev(card, &intf->dev);

chip = card->private_data;
chips[regidx] = chip;
chip->dev = device;
chip->regidx = regidx;
chip->intf_count = 1;
chip->card = card;

ret = usb6fire_comm_init(chip);
if (ret < 0) {
usb6fire_chip_destroy(chip);
return ret;
}

ret = usb6fire_midi_init(chip);
if (ret < 0) {
usb6fire_chip_destroy(chip);
return ret;
}

ret = usb6fire_pcm_init(chip);
if (ret < 0) {
usb6fire_chip_destroy(chip);
return ret;
}

ret = usb6fire_control_init(chip);
if (ret < 0) {
usb6fire_chip_destroy(chip);
return ret;
}

ret = snd_card_register(card);
if (ret < 0) {
snd_printk(KERN_ERR PREFIX "cannot register card.");
usb6fire_chip_destroy(chip);
return ret;
}
usb_set_intfdata(intf, chip);
return 0;
}

static void usb6fire_chip_disconnect(struct usb_interface *intf)
{
struct sfire_chip *chip;
struct snd_card *card;

chip = usb_get_intfdata(intf);
if (chip) { /* if !chip, fw upload has been performed */
card = chip->card;
chip->intf_count--;
if (!chip->intf_count) {
mutex_lock(®ister_mutex);
devices[chip->regidx] = NULL;
chips[chip->regidx] = NULL;
mutex_unlock(®ister_mutex);

chip->shutdown = true;
usb6fire_chip_abort(chip);
usb6fire_chip_destroy(chip);
}
}
}

static struct usb_device_id device_table[] = {
{
.match_flags = USB_DEVICE_ID_MATCH_DEVICE,
.idVendor = 0x0ccd,
.idProduct = 0x0080
},
{}
};

MODULE_DEVICE_TABLE(usb, device_table);

static struct usb_driver usb_driver = {
.name = "snd-usb-6fire",
.probe = usb6fire_chip_probe,
.disconnect = usb6fire_chip_disconnect,
.id_table = device_table,
};

module_usb_driver(usb_driver);
Бип O`Kот 2014-01-07 23:57:06 #
дуб-дерево, овца-животное, я-кот, ты-хуй, смерть неизбежна
Шынджы 2014-01-07 23:57:57 #
памоему надо убрать классы, ну или нет
Припадочный Лис 2014-01-08 00:34:17 #
Я и баал-читор!
И вуащипе картинко погнуло Свалочку!
я и баал 2014-01-08 00:34:43 #
ну или нет,патамушто классная чиповка
Пилотяга 2014-01-08 00:49:18 #
я не понил, это я и баал нас зачипировал уже?
Шынджы 2014-01-08 00:53:52 #
Была вроде одна девочка, могла понять, в чом жыр, но они в сети чота давно. Лэйн звали. Помянем.
Рвун Чехлов 2014-01-08 05:09:44 #
Это не картинко вино вата! Это Ипшайтег боролся с золевалкой. Поборол, хоть и с потерями.
Сохраняйте спокойствие, я уже зауплотнил всё взад.
Припадочный Лис 2014-01-08 05:11:10 #
Я рат!
Ящетаю 2014-01-08 09:16:14 #
Кошки Таллина вышли на улицы с протестными лозунгами ящетаю
Джизухобой 2014-01-08 10:17:33 #
я как? нет.
-я знаю.
Заебурии 2014-01-08 11:09:12 #
зочиповал кота - проебал цобако.
кокака 2014-01-08 11:13:34 #
это у них монстрация такое
Медведъ 2014-01-08 12:18:17 #
здраствуйте увгда ноучные роботнеги.
памогите мне на основание кортино на глагне зозочиповадь всег тароканов в доме у миня
и штобе на ондроеде плотформе програмо была показывала пиремешение тороканов в окружнасте миня, а я бы тапком их гасил неглядя
очинь жду джва года примерна такое программо и чиповко спасибо пожалусто
афтобус 2014-01-08 17:15:46 #
"Чипируйте котяткам моск,они и так милые ящетаю" Одобренно аффтобусом
шарфан 2014-01-09 00:34:31 #
Фу. Я думал опять пинкоды утекли в сеть. А я только карту поменял. А у вас тут хакеры просто.
Шынджы 2014-01-09 01:49:46 #
Чипирую стоя. Джва раза. Себя. А то постоянно проёбываюсь.
Шынджы 2014-01-09 01:51:03 #
- О Учитель! Стоит ли чипировать кошку?
- Делай как хочешь, всё равно пожалеешь.
Медведъ 2014-01-09 08:41:36 #
чипавать надо себя, тогда любая кожка всегда сможет тибя найти, юзирнэйм
так паступать разумнее и дешевле, матиматики паймуд
Ыштып Гауно 2014-01-09 09:00:55 #
Look at you hacker
Мазерафакито 2014-01-09 15:09:58 #
А я сам могу чипировать кошку. У меня комп есть старый, не пользуюсь им, там чипов много, думаю один из них в кошку интегрировать. Скажите пожалуйста, какой версии нужна прошивка (на чип, и на кошку соответственно), и смогу ли я сделать это сам, что называется в домашних условиях?
можешь
но предварительно тебе надо лицензироваться на этот вид деятельности
иначе тюрма тибе даст задумцо о том што не следует принибригадь лицензированием предполагаемой деятельности
Шынджы 2014-01-09 15:15:41 #
у меня был лишний первый пентиум 166, я чипировал кошку, а она сбрусла. Может, пентиумы подходят только цобакам?
Ыштып Гауно 2014-01-09 15:54:20 #
Мазерафакито 2014-01-09 16:32:44 #
Скажите пожалуйста, куда лучше чипировать кошку, если учитывать, что кошка мужского пола.
Мазерафакито 2014-01-09 16:34:03 #
Хочу чипировать ему ухо, но думаю не надежно. Чипировать хвост?
Мазерафакито 2014-01-09 16:36:00 #
Ппц... Как определить какого пола кошка?
Бип O`Kот 2014-01-09 16:38:54 #
есле кто низнаэ, котэ самсабоэ эволюционировал джля чипирования. в доинформационную эпоху фтуда встраивался конденсатор
Бип O`Kот 2014-01-09 16:39:53 #
есле кто низнаэ штоп узнать пол котэ надо поставить ево на землю и дать по жопе, есле побежал - он, есле побежала - она
Шынджы 2014-01-09 16:40:42 #
буквально недавно шёл по беларашке из магазина вечером, вдруг со двора выбегает мужык с котом на руках и истерически просит определить пол жывотной. А у меня такое настроение пофигистическое, я даже не испугался почему-то, хотя это было ОЧЕНЬ внезапно. Поднимаю хвост, грю: вы вот цей девайс видите? А вот это? Вот через год они будут с орех каждое. Тогда точно не перепутаете. Даиваще, вы на морду его посмотрите. Разве у кошек бывает такая морда? Мужик ушёл просветлённый.
Мазерафакито 2014-01-09 16:56:50 #
Увгн Шынджы, у вас лёгкость в мыслях необыкновенная!
Трезвый Лис 2014-01-09 18:04:22 #
В пейсатели иди!
кокака 2014-01-09 18:48:14 #
опа, ХЗ кто вернулся! склько лет сколько зим?
Трезвый Лис 2014-01-09 19:18:09 #
Жызн норм.
Зима хреновая.
Магнитные бури.
Я устал...
Однознак 2014-01-10 18:29:12 #
Бобрдо Бр 2014-01-10 23:57:12 #
я узнаю это пусещке
Eeestiii 2014-01-12 10:25:20 #
Стооппии косскаа нее уубегалла, йяайсса йэей наатто оттресаать!
храч 2014-01-12 11:31:43 #
ГЖДЕ ОПУРЖЖ

приколов.нет Байанометр СКОТОБАЗА АТАТАТ yaplakal.com
© СВАЛКА, 2003–2024. Авторы двиШка: megath[aka duro], skupr, спасибо MakZ'у за пинки ;), Methos'у за скин sandbox, Татьяне за синий скин, Сверстайго Сайтег за вебдванолизацию синего скина.
Также огромное спасибо всем, кто сюда что-то когда-то постил, и тем, кто постил тем, кто постил, а также - авторам )))