selftests: sync: Fix cast warnings on arm
authorMasami Hiramatsu <mhiramat@kernel.org>
Wed, 23 Oct 2019 04:58:16 +0000 (13:58 +0900)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 7 Nov 2019 21:54:37 +0000 (14:54 -0700)
Fix warnings on __u64 and pointer translation on arm and
other 32bit architectures. Since the pointer is 32bits on
those archs, we should not directly cast those types.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Emilio López <emilio.lopez@collabora.co.uk>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/sync/sync.c

index f3d599f..7741c05 100644 (file)
@@ -109,7 +109,7 @@ static struct sync_file_info *sync_file_info(int fd)
                        return NULL;
                }
 
-               info->sync_fence_info = (uint64_t)fence_info;
+               info->sync_fence_info = (uint64_t)(unsigned long)fence_info;
 
                err = ioctl(fd, SYNC_IOC_FILE_INFO, info);
                if (err < 0) {
@@ -124,7 +124,7 @@ static struct sync_file_info *sync_file_info(int fd)
 
 static void sync_file_info_free(struct sync_file_info *info)
 {
-       free((void *)info->sync_fence_info);
+       free((void *)(unsigned long)info->sync_fence_info);
        free(info);
 }
 
@@ -152,7 +152,7 @@ int sync_fence_count_with_status(int fd, int status)
        if (!info)
                return -1;
 
-       fence_info = (struct sync_fence_info *)info->sync_fence_info;
+       fence_info = (struct sync_fence_info *)(unsigned long)info->sync_fence_info;
        for (i = 0 ; i < info->num_fences ; i++) {
                if (fence_info[i].status == status)
                        count++;