lkml.org 
[lkml]   [2001]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: unsigned long ioremap()?
Abramo Bagnara wrote:
> "David S. Miller" wrote:
> > There is a school of thought which believes that:
> >
> > struct xdev_regs {
> > u32 reg1;
> > u32 reg2;
> > };
> >
> > val = readl(&regs->reg2);
> >
> > is cleaner than:
> >
> > #define REG1 0x00
> > #define REG2 0x04
> >
> > val = readl(regs + REG2);

> The problem I see is that with the former solution nothing prevents from
> to do:
>
> regs->reg2 = 13;

Why should there be something to prevent that?

If a programmer does that to an ioremapped area, that is a bug. Pure
and simple.

We do not need extra mechanisms simply to guard against programmers
doing the wrong thing all the time.


> That's indeed the reason to change ioremap prototype for 2.5.

Say what??

I have heard a good argument from rth about creating a pci_ioremap,
which takes a struct pci_dev argument. But there is no reason to change
the ioremap prototype.

Jeff


--
Jeff Garzik | Game called on account of naked chick
Building 1024 |
MandrakeSoft |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 12:52    [from the cache]
©2003-2011 Jasper Spaans