On Fri, 16 Mar 2018, Michael Schmitz wrote: > Hi Finn, Geert, > > In the interest of making minimal changes between the Mac and Amiga > versions, I'd leave the macros as they are, and add a comment to the > macro definitions stating that both addr and fifo are local-scope > variables in the only scope the macro is used in, to address reviewer's > concerns. Can you both live with that? > OK. > Placing the two macros in a suitable header in arch/m68k/include/asm/ so > Mac and Amiga can share the same code without duplicating it in two > files would be another option (that forces use of addr and fifo as > parameters), but let's not overengineer things. Yes, deduplication would be nice but I'd like to extend that to the entire PIO implementation. We should be using the portable IO routines but I'd want to do some timings first. Inline assembly was unavoidable for the PDMA loops. Later when I came to write the PIO versions, I just re-used the existing code without benchmarking. So there's a slim chance that insb/outsb are not slower. It might be sufficient to unroll the m68k raw_insb() and raw_outsb() loops, just as raw_insw() and raw_outsw() have been unrolled. But again, I'd want to measure that. -- > I don't expect any other driver would need to share this code, or the > PDMA macros also in the Mac driver... > > Other than that, I've implemented and tested all the suggested changes > and could post v4 of this patch now. > > Cheers, > > ??? Michael