Hi Geert,
Am 05.04.2024 um 23:16 schrieb Geert Uytterhoeven:
Hi Arnd,
On Wed, Apr 3, 2024 at 8:35 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
On Wed, Apr 3, 2024, at 20:11, Michael Schmitz wrote:
how do you propose we handle legacy drivers that do depend on
inb()/outb() functions (_not_ actual ISA I/O) on architectures that map
inb()/outb() to MMIO functions?
(In my case, that's at least ne.c - Geert ought to have a better
overview what else does use inb()/outb() on m68k)
If a machine provides an inb()/outb() set of operations that
is actually used, it should set HAS_IOPORT.
For the Q40, it may be better in the long run to change the
drivers to just use MMIO directly though.
Q40 uses ISA.
Michael is worried about non-ISA drivers using inb() and friends.
At some point in time (i.e. eons ago), we were told it was better to
use in[bwl]()/read[bwl]() instead of directly dereferencing volatile
pointers...
Anyway, I don't think we have many users of inb() and friends left, and
I assume the bots should have detected any/most remaining users in Niklas'
branch...
All the 8390 based ethernet drivers still use inb() and friends.
That is the main reason for the terrible hacks in
arch/m68k/include/asm/io_mm.h ...
The last time I tried to add support for a different PCMCIA ethernet
adapter to apne.c _without_ adding to the hacks in io_mm.h, I wasn't
getting anywhere with the netdev crowd. That was ages ago, and I doubt
their enthusiasm for a rewrite of the 8390 code base to avoid using
inb() on MMIO architectures will be any better now.
Just saying ...
Michael
arch/m68k/include/asm/floppy.h on Sun-3x might be the only offender?
Gr{oetje,eeting}s,
Geert