Lines Matching refs:bebob

3  * bebob.c - a part of driver for BeBoB based devices
14 #include "bebob.h"
68 name_device(struct snd_bebob *bebob)
70 struct fw_device *fw_dev = fw_parent_device(bebob->unit);
85 err = fw_csr_string(bebob->unit->directory, CSR_MODEL,
91 err = snd_bebob_read_quad(bebob->unit, INFO_OFFSET_HW_MODEL_ID,
97 err = snd_bebob_read_quad(bebob->unit, INFO_OFFSET_HW_MODEL_REVISION,
103 err = snd_bebob_read_block(bebob->unit, INFO_OFFSET_GUID,
108 strcpy(bebob->card->driver, "BeBoB");
109 strcpy(bebob->card->shortname, model);
110 strcpy(bebob->card->mixername, model);
111 snprintf(bebob->card->longname, sizeof(bebob->card->longname),
114 data[0], data[1], dev_name(&bebob->unit->device),
123 struct snd_bebob *bebob = card->private_data;
126 clear_bit(bebob->card_index, devices_used);
129 snd_bebob_stream_destroy_duplex(bebob);
131 mutex_destroy(&bebob->mutex);
132 fw_unit_put(bebob->unit);
160 static int detect_quirks(struct snd_bebob *bebob, const struct ieee1394_device_id *entry)
168 bebob->quirks |= SND_BEBOB_QUIRK_INITIAL_DISCONTINUOUS_DBC;
174 bebob->quirks |= SND_BEBOB_QUIRK_WRONG_DBC;
188 struct snd_bebob *bebob;
221 sizeof(*bebob), &card);
230 bebob = card->private_data;
231 bebob->unit = fw_unit_get(unit);
232 dev_set_drvdata(&unit->device, bebob);
233 bebob->card = card;
234 bebob->card_index = card_index;
236 bebob->spec = spec;
237 mutex_init(&bebob->mutex);
238 spin_lock_init(&bebob->lock);
239 init_waitqueue_head(&bebob->hwdep_wait);
241 err = name_device(bebob);
245 err = detect_quirks(bebob, entry);
249 if (bebob->spec == &maudio_special_spec) {
251 err = snd_bebob_maudio_special_discover(bebob, true);
253 err = snd_bebob_maudio_special_discover(bebob, false);
255 err = snd_bebob_stream_discover(bebob);
260 err = snd_bebob_stream_init_duplex(bebob);
264 snd_bebob_proc_init(bebob);
266 if (bebob->midi_input_ports > 0 || bebob->midi_output_ports > 0) {
267 err = snd_bebob_create_midi_devices(bebob);
272 err = snd_bebob_create_pcm_devices(bebob);
276 err = snd_bebob_create_hwdep_device(bebob);
293 fw_schedule_bus_reset(fw_parent_device(bebob->unit)->card, false, true);
321 struct snd_bebob *bebob = dev_get_drvdata(&unit->device);
323 if (bebob == NULL)
326 fcp_bus_reset(bebob->unit);
331 struct snd_bebob *bebob = dev_get_drvdata(&unit->device);
333 if (bebob == NULL)
337 snd_card_free(bebob->card);