Re: ioremap return type

From: Philipp Rumpf (prumpf@parcelfarce.linux.theplanet.co.uk)
Date: Wed Aug 09 2000 - 21:37:20 EST


On Wed, Aug 09, 2000 at 07:29:22PM +0100, Alan Cox wrote:
> > unsigned long ioremap(unsigned long base, long length);
> > void iounmap(unsigned long);
> >
> > we would solve (well, not solve, simply we'd show it ;-) a lot of
> > porting issue?
>
> I would agree with this .

I doubt it's actually going to make a difference, except for creating dozens
of unnecessary compiler warnings. Making sure dereferencing ioremap's return
pointer directly won't work would actually catch those bugs, as well as avoid
modifications to perfectly valid code - see acenic.c. As it's also just a
constant offset to the address, ideally, it shouldn't hurt performance very
much.

If we're going to change the PCI MMIO API, I'd suggest moving to two-argument
forms of read[bwl] anyway. It actually can ensure we're not trying out-of-range
accesses during development and help on some of the weirder machines where some
of the PCI MMIO space is accessed using address/data register pairs.

Oh, that might also be an opportune time to stop using [bwl] and start using
{8,16,32} instead - especially as we might actually see x86 machines with long
as 8 bytes.

I don't see why any of this should happen before 2.5 though.

        Philipp

-
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/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:20 EST