Os drivers são muito semelhantes a qualquer outro programa, eles podem ser compostos de vários arquivos de origem. Drivers de dispositivos Linux podem ser compilados diretamente no kernel ou em um módulo do kernel. Módulos de kernel têm a vantagem de poder ser carregado dinamicamente (ou seja, você não precisa compilar um novo kernel para usá-los).
Você pode obviamente sempre olhar para o código-fonte do Linux, mas isso pode ser uma tarefa difícil no começo. No entanto, como acontece com qualquer coisa em drivers Linux são arquivos. Isso significa que outros programas os acessam por meio da interface VFS. Por exemplo, você pode controlar o CDROM por meio de ioctl()
chamadas usando seu arquivo de dispositivo.
Eu recomendo verificar os drivers de dispositivo do Linux . Está disponível gratuitamente e responderá às suas perguntas. Em particular, você pode ler o capítulo 2, que mostra como criar um módulo simples "Hello, Kernel". Pode ser muito mais do que você está pedindo, mas você pode ler os pedaços que lhe interessam. E é grátis. ; P