sound/firewire/tascam/tascam-midi.c

Source file repositories/reference/linux-study-clean/sound/firewire/tascam/tascam-midi.c

File Facts

System
Linux kernel
Corpus path
sound/firewire/tascam/tascam-midi.c
Extension
.c
Size
3360 bytes
Lines
130
Domain
Driver Families
Bucket
sound/firewire
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if (subs->number < tscm->spec->midi_capture_ports) {
			/* Hardware MIDI ports. */
			scnprintf(subs->name, sizeof(subs->name),
				  "%s MIDI %d",
				  tscm->card->shortname, subs->number + 1);
		}
	}

	rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT;
	snd_rawmidi_set_ops(rmidi, SNDRV_RAWMIDI_STREAM_OUTPUT,
			    &playback_ops);
	stream = &rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT];

	/* Set port names for MIDI ourput. */
	list_for_each_entry(subs, &stream->substreams, list) {
		if (subs->number < tscm->spec->midi_playback_ports) {
			/* Hardware MIDI ports only. */
			scnprintf(subs->name, sizeof(subs->name),
				  "%s MIDI %d",
				  tscm->card->shortname, subs->number + 1);
		}
	}

	rmidi->info_flags |= SNDRV_RAWMIDI_INFO_DUPLEX;

	return 0;
}

Annotation

Implementation Notes