Você precisa implementar o dispositivo de caractere injetado no subsistema de entrada padrão do kernel. Por favor, verifique este livro. As read() , write() , ioctl() , etc. são operações típicas dos drivers char, qualquer driver char possui pelo menos open() e close() .
Enfim, qual subsistema do kernel você usou na sua última versão do driver? A maneira mais útil para qualquer desenvolvimento de kernel é ler documentos relacionados em Documentação / do diretório de fontes do kernel e ler o código de drivers de kernels da área relacionada com suas tarefas.