So does this mean that device drivers are what actually use SPI serial comm? If so, SPI comm is available to user applications, so why use device drivers?
Muitas razões:
Você pode escrever código que pode usar vários tipos diferentes de comunicação serial sem precisar alterar o código de nível superior.
Você pode querer moderar o acesso à porta serial de diferentes aplicativos.
A interface serial pode ser mais eficiente com interrupções e você precisa lidar com interrupções no código de baixo nível.
E assim por diante.