Re: unsigned long ioremap()?

Jes Sorensen
2001-05-13T14:04:04Z

>>>>> "Abramo" == Abramo Bagnara <abramo@alsa-project.org> writes:

Abramo> "David S. Miller" wrote:
>> One final point, I want to reiterate that I believe:
>>
>> foo = readl(&regs->bar);
>>
>> is perfectly legal and should not be discouraged and in particular,
>> not made painful to do.

Abramo> I disagree: regs it's not a dereferenceable thing and I think
Abramo> it's an abuse of pointer type. You're keeping a pointer that
Abramo> need a big sign on it saying "Don't dereference me", it's a
Abramo> mess.

Thats complete rubbish, in many cases the regs structure matches a
regs structure seen by another CPU on the other side of the PCI bus
(ie. the firmware case). There is nothing wrong with the above
approach as long as you keep in mind that you cannot dereference the
struct without using readl and you have to make sure to explicitly do
padding in the struct (not all CPUs guarantee the same natural
alignment).

Jes