Lines Matching refs:bebob

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