diff mbox

[rdma-next,01/21] drm/i915: Move u64-to-ptr helpers to general header

Message ID 20180503133715.15276-2-leon@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Leon Romanovsky May 3, 2018, 1:36 p.m. UTC
From: Leon Romanovsky <leonro@mellanox.com>

The macro u64_to_ptr() and function ptr_to_u64() are useful enough
to be part of general header, so move them there and allow RDMA
subsystem reuse them.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
 drivers/gpu/drm/i915/i915_utils.h | 12 ++----------
 include/linux/kernel.h            | 12 ++++++++++++
 2 files changed, 14 insertions(+), 10 deletions(-)

--
2.14.3

Comments

Joonas Lahtinen May 3, 2018, 4:41 p.m. UTC | #1
Quoting Leon Romanovsky (2018-05-03 16:36:55)
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> The macro u64_to_ptr() and function ptr_to_u64() are useful enough
> to be part of general header, so move them there and allow RDMA
> subsystem reuse them.
> 
> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>

Feel free to merge this through an appropriate tree, I guess you could
get some acks from LKML.

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Regards, Joonas

> ---
>  drivers/gpu/drm/i915/i915_utils.h | 12 ++----------
>  include/linux/kernel.h            | 12 ++++++++++++
>  2 files changed, 14 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
> index 51dbfe5bb418..de3bfda7bf96 100644
> --- a/drivers/gpu/drm/i915/i915_utils.h
> +++ b/drivers/gpu/drm/i915/i915_utils.h
> @@ -25,6 +25,8 @@
>  #ifndef __I915_UTILS_H
>  #define __I915_UTILS_H
> 
> +#include <linux/kernel.h>
> +
>  #undef WARN_ON
>  /* Many gcc seem to no see through this and fall over :( */
>  #if 0
> @@ -102,16 +104,6 @@
>         __T;                                                            \
>  })
> 
> -static inline u64 ptr_to_u64(const void *ptr)
> -{
> -       return (uintptr_t)ptr;
> -}
> -
> -#define u64_to_ptr(T, x) ({                                            \
> -       typecheck(u64, x);                                              \
> -       (T *)(uintptr_t)(x);                                            \
> -})
> -
>  #define __mask_next_bit(mask) ({                                       \
>         int __idx = ffs(mask) - 1;                                      \
>         mask &= ~BIT(__idx);                                            \
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 6a1eb0b0aad9..a738393c9694 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -70,6 +70,18 @@
>   */
>  #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
> 
> +static inline u64 ptr_to_u64(const void *ptr)
> +{
> +       return (uintptr_t)ptr;
> +}
> +
> +#define u64_to_ptr(T, x) (             \
> +{                                      \
> +       typecheck(u64, x);              \
> +       (T *)(uintptr_t)(x);            \
> +}                                      \
> +)
> +
>  #define u64_to_user_ptr(x) (           \
>  {                                      \
>         typecheck(u64, x);              \
> --
> 2.14.3
>
Jason Gunthorpe May 14, 2018, 8:10 p.m. UTC | #2
On Thu, May 03, 2018 at 04:36:55PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> The macro u64_to_ptr() and function ptr_to_u64() are useful enough
> to be part of general header, so move them there and allow RDMA
> subsystem reuse them.
> 
> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
> ---
>  drivers/gpu/drm/i915/i915_utils.h | 12 ++----------
>  include/linux/kernel.h            | 12 ++++++++++++
>  2 files changed, 14 insertions(+), 10 deletions(-)

This patch and the next one to kernel.h will need to be Ack'd be
someone.. But I am not sure who.. AndrewM perhaps?

Jason
Leon Romanovsky May 15, 2018, 9:04 a.m. UTC | #3
On Mon, May 14, 2018 at 02:10:54PM -0600, Jason Gunthorpe wrote:
> On Thu, May 03, 2018 at 04:36:55PM +0300, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@mellanox.com>
> >
> > The macro u64_to_ptr() and function ptr_to_u64() are useful enough
> > to be part of general header, so move them there and allow RDMA
> > subsystem reuse them.
> >
> > Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
> > ---
> >  drivers/gpu/drm/i915/i915_utils.h | 12 ++----------
> >  include/linux/kernel.h            | 12 ++++++++++++
> >  2 files changed, 14 insertions(+), 10 deletions(-)
>
> This patch and the next one to kernel.h will need to be Ack'd be
> someone.. But I am not sure who.. AndrewM perhaps?

Why is that?

The kernel.h doesn't have explicit maintainer and is managed by
community effort.

Thanks

>
> Jason
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 51dbfe5bb418..de3bfda7bf96 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -25,6 +25,8 @@ 
 #ifndef __I915_UTILS_H
 #define __I915_UTILS_H

+#include <linux/kernel.h>
+
 #undef WARN_ON
 /* Many gcc seem to no see through this and fall over :( */
 #if 0
@@ -102,16 +104,6 @@ 
 	__T;								\
 })

-static inline u64 ptr_to_u64(const void *ptr)
-{
-	return (uintptr_t)ptr;
-}
-
-#define u64_to_ptr(T, x) ({						\
-	typecheck(u64, x);						\
-	(T *)(uintptr_t)(x);						\
-})
-
 #define __mask_next_bit(mask) ({					\
 	int __idx = ffs(mask) - 1;					\
 	mask &= ~BIT(__idx);						\
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 6a1eb0b0aad9..a738393c9694 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -70,6 +70,18 @@ 
  */
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

+static inline u64 ptr_to_u64(const void *ptr)
+{
+	return (uintptr_t)ptr;
+}
+
+#define u64_to_ptr(T, x) (		\
+{					\
+	typecheck(u64, x);		\
+	(T *)(uintptr_t)(x);		\
+}					\
+)
+
 #define u64_to_user_ptr(x) (		\
 {					\
 	typecheck(u64, x);		\