On Tue, 2016-04-26 at 11:29 -0300, Gustavo Padovan wrote:
> 2016-04-26 Lucas Stach <l.st...@pengutronix.de>:
> > Am Donnerstag, den 21.04.2016, 12:38 -0300 schrieb Gustavo Padovan:
> > > From: Gustavo Padovan <gustavo.pado...@collabora.co.uk>
> > > 
> > > This function had copies in 3 different files. Unify them in kernel.h.
> > > 
> > > Cc: Joe Perches <j...@perches.com>
> > > Cc: Andrew Morton <a...@linux-foundation.org>
> > > Cc: David Airlie <airl...@linux.ie>
> > > Cc: Daniel Vetter <daniel.vet...@intel.com>
> > > Cc: Rob Clark <robdcl...@gmail.com>
> > > Signed-off-by: Gustavo Padovan <gustavo.pado...@collabora.co.uk>
> > > 
> > 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.

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to