> > Also thanks for suggesting (void*)->(unsigned long), I didn't > > know that these two are defined to have the same size (in kernel code). > > The kernel assumes that throughout - the double cast is common. > The C99 type is uintptr_t - but I don't think that is defined in kernel. > The only place I know where sizeof (long) != sizeof (void *) is 64bit > windows. So anyone trying to compile a linux driver to run in the > windows kernel might have issues (never mind the GPL ones). My colleague here has just explained me the same. :) Being a linux-kernel newbie, I'm learning every day. Kernel programming is more different from userspace than I ever thought. Thank you for your patience. -- Jan Matějka SUSE Labs