Как взаимодействуют вежду собой разные линуксовые драйвера? К примеру у меня есть устройство у которого есть таблица GPIO и IRQ регистров. Из них я что-то получаю и могу в них послать. А как это делается другими модулями? К примеру я принимаю поток видео из сети, откуда драйвера знают что аудио поток нужно отдать аудио дровам, а видео видеокарте? Или это уже делает апликэшен юзер-спейса которое выполняет опредеелнные системные вызовы к устройствам?