간단한 드라이버라면 메모리맵을 쓰는것도 괜찮다고 생각됩니다.
하지만 하드웨어 인터럽트를 받아야 한다면 이건 메모리맵으로는 불가능
하겠죠..
또 안되는 이유가 있다면 디바이스 드라이버가 단순히 메모리나 IO 만을
제어하는게 아니라는게 큰이유지요..
PCI, I2C, USB 등의 버스등에 붙는 드라이버라면 제어가 불가능 합니다

임베디드에서의 단점은 이정도구요 PC에서는 더 많겠죠..