Messages in this thread |  | | Date | Thu, 03 May 2001 04:08:49 -0400 | From | Jeff Garzik <> | Subject | Re: 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(®s->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/
|  |