> So you would say change the global h/w register variables[*] to be addresses
Ok so these are not addresses but magic registers in the processor ? Then
I guess volatile makes complete sense.
For real DMA the dma_ APIs keep coherency
For PIO (virtual DMA or otherwise) the locking does that. Because
spin_unlock and spin_lock are compiler barriers the need to use volatile
shouldn't normally be there. If you are doing it via asm without locks
then I would expect atomic_t because the sematics of volatile are
horribly vague on their own ?
-