Quite. It should be `busaddr_t'. `physaddr_t' should be reserved for
physical addresses that only the mm layer sees...
> Type typedef's are a pain when there is no real reason for them,
> ie. for atomic types and spin locks there is a good reason, for simple
> pointers there aren't.
A bus address is not a pointer...
> Addind yet another random typedef just makes the code even more
> obfuscated. You will be able to do just as much damage with this new
> type as you can do with unsigned long's.
Obfuscation? If it's made mandatory right away I agree. If it's the
wrong name, I agree. (kphysaddr_t is the wrong name). If it has the
wrong semantics: i.e., it doesn't always hold a bus address, I agree.
But if it does have a consistent meaning how can you call it
obfuscation?
Bear in mind that unsigned long is the *wrong* type (on x86 with 64-bit
PCI), though that hasn't arrived yet. And char * is also the wrong
type.
> Basic rule is that you need to know what you are doing anyway.
This is clearly not true: we have device drivers that _ought_ to work on
many architectures but don't because they make assumptions they
shouldn't. This doesn't stop the drivers getting written and used for a
long time, and that makes changes to the core architecture, as well as
porting, difficult.
I favour not only the typedefs, but structs for catching mis-typing when
enough drivers have been cleaned up (as with ptes at one time).
-- Jamie
-
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/