
17 Dec
2008
17 Dec
'08
5 p.m.
Kumar Gala wrote:
/* virt_to_phys will only work when address is in P1 or P2 */ -static __inline__ unsigned long virt_to_phys(volatile void *address) +static inline phys_addr_t virt_to_phys(volatile void *address) {
Is the volatile really needed?
The problem is that the 'packet' parameter to struct eth_device.send() is volatile, and it propagates into this function. So if I remove the volatile, I have to either add ugly casts elsewhere or change the eth_device API...
I have no idea why the network subsystem feels the need to enforce the use of volatile in all drivers, though...
Haavard