Tried looking at how in*()/out*() are defined on x86?
Tried looking at how ide_mm_inb is defined on x86
It's already making function calls, without the benefit of inlining and
I'm afraid you're wrong here.
I'm afraid you are the one who is wrong. The IDE layer is duplicating a
generic level of indirection with its own code - purely because IDE
pre-dates that core functionality. The whole IDE layer indirection can go
away because Linux has caught up with the needs of the IDE layer.
I wish it would be so simple as I would have removed the said indirection
long time ago. Unfortunately:
- not all archs support ioread() & co.
- there is still issue with cache aliasing on some CPUs
Thanks,
Bart