[PATCH] powerpc/usb: use unsigned long to type cast an address of ioremap

Tabi Timur-B04825 B04825 at freescale.com
Thu Nov 3 23:07:19 EST 2011


David Laight wrote:
>> >  usb_sys_regs = (void *)dr_regs + USB_DR_SYS_OFFSET;

> But that is invalid C.

What's invalid about it?  I haven't tried compiling this specific line of 
code, but I've done stuff like it in the past many times.

Are you talking about adding an integer to a void pointer?  If so, then 
that's something that gcc supports and that the kernel uses all over the 
place.  A char* is incorrect because a char could be more than one byte, 
in theory.

-- 
Timur Tabi
Linux kernel developer at Freescale


More information about the Linuxppc-dev mailing list