Re: [PATCH 0/1] m68k: Handle HAS_IOPORT dependencies

From: Michael Schmitz
Date: Fri Apr 05 2024 - 14:36:43 EST


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