Re: [patch] ioremap + check_mem_region for 8390 drivers

Donald Becker (becker@cesdis1.gsfc.nasa.gov)
Tue, 28 Dec 1999 16:36:06 -0500 (EST)


On Tue, 28 Dec 1999, Alan Cox wrote:

> > dev->mem_start
> > dev->mem_end
> > dev->dma
> >
> > Most of these are used only in obsolete ISA drivers, which really should
> > keep them in a local structure. We should replace at least two of the
> > values with, say, "param1" and "param2" so that LILO parameters still work.
>
> Several cards use dma, i/o and memory resources so you need at least three.
> Some are user reconfigurable for IRQ etc despite your claims otherwise.

Yes, there are now-obsolete cards that are reconfigurable. The only current
production Ethernet card that has reconfigurable IRQs (in an obvious way
e.g. non-ISA-PnP) is the 3c509 driver.

The dev->dma parameter is a good example of something that should be
removed. Only a few drivers use it, and one (znet.c) need *two* DMA
channels. It think the only current production chip that uses it is the
ISA-bus-master PCnet/ISA+, and ISA bus masters will no longer legal with PCI
v2.0+.

Many 8390 drivers use mem_start and mem_end, but all use the values
internally (not visible to 8390.c)

My point is that that since ISA memory values are now mapped, the memory
bases should no longer be "official" slots in struct net_device. And if we
are cleaning them up, we should clean up dev->dma as well.

Hopefully we will clean up the fields by renaming them to "net_param1" so
that driver that use "mem_start" as just another LILO parameter (see
pci-skeleton.c or a PCI Ethernet driver for an example) can be back-ported
with just
#define net_param1 mem_start /* Name of dev->net_parma1 pre-2.4 */
#define net_param2 mem_end /* Name of dev->net_parma2 pre-2.4 */

Donald Becker
Scyld Computing Corporation, and
USRA-CESDIS, becker@cesdis.gsfc.nasa.gov

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu