> > > Though I normally prefer static inline functions, I see the benefits of > > > using the macro form here. > > An inline could still work > static inline void __user *u64_to_user_ptr(u64 address) > { > return (void __user *)(uintptr_t)address; > } > if the macro was > #define u64_to_user_ptr(x) \ > ({ \ > typecheck(u64, x); \ > (u64_to_user_ptr)(x); \ > }) > > the parenthesis around the u64_to_user_ptr > in the macro should prevent expansion. > sparse is throwing 'warning: dereference of noderef expression' on this macro now. Any clues what need to be fixed Thanks Tomas _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel