Re: New resources - pls, explain :-(

Jeff Garzik (jgarzik@pobox.com)
Wed, 11 Aug 1999 17:04:39 -0400


Alan Cox wrote:
> > Remember, readl() and friends are to be used for PCI mapped memory only! If you
> > want to generalize, accesses have to be done through e.g. device->readl().

> readl() is for all busses.

So is this "the standard"? It would be nice if I could make this
assumption in the future.

> If you wnt a PCI bus specific readl it should be called pci_readl(). Perhaps
> thats the root of the problem. Define pci_readl() to be strictly ordered,
> do the right byte swapping and be done with it. Define readl() to change
> no order.

Ah, wouldn't it be nice... Has anyone talked about making a concrete
decision on this issue?

I like rth's suggestion about having bus-specific ioremap() instead of a
generic one; then all readl() etc. would go through that, and do "the
right thing" for that bus. One could add "bigendian_writel()" and
"littleendian_writel()" to satisfy the Linus constraint of making
unusual usage of writel() obvious.

Regards,

Jeff

-- 
Entropy requires no maintenance.
                -- Markoff Chaney

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/