gpu: nvgpu: remove usage of __must_check

Remove the usage of __must_check compiler directive.
Also rename __user as nvgpu_user and make the required
changes for linux and posix builds.

Jira NVGPU-4903

Change-Id: If4a18761cca84eb12e0babc0d528666673fca9e8
Signed-off-by: ajesh <akv@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2283404
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
ajesh
2020-01-22 11:12:22 +05:30
committed by Alex Waterman
parent 86e4b52169
commit 1041167668
10 changed files with 41 additions and 26 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2019, NVIDIA CORPORATION. All Rights Reserved.
# Copyright (c) 2019-2020, NVIDIA CORPORATION. All Rights Reserved.
#
# Linux elements and units in nvgpu.
#
@@ -232,6 +232,7 @@ headers:
include/nvgpu/linux/sim_pci.h,
include/nvgpu/linux/thread.h,
include/nvgpu/linux/log.h,
include/nvgpu/linux/utils.h,
include/nvgpu/linux/vm.h ]
# An extra unit to lump all the unclassified Linux files.

View File

@@ -831,7 +831,7 @@ static void gk20a_free_cb(struct nvgpu_ref *refcount)
}
}
struct gk20a * __must_check nvgpu_get(struct gk20a *g)
struct gk20a *nvgpu_get(struct gk20a *g)
{
int success;

View File

@@ -2,7 +2,7 @@
*
* Nvgpu Channel Synchronization Abstraction (Semaphore)
*
* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -37,7 +37,7 @@ struct nvgpu_channel_sync_semaphore;
* Converts a valid struct nvgpu_channel_sync ptr to
* struct nvgpu_channel_sync_semaphore ptr else return NULL.
*/
struct nvgpu_channel_sync_semaphore * __must_check
struct nvgpu_channel_sync_semaphore *
nvgpu_channel_sync_to_semaphore(struct nvgpu_channel_sync *sync);
/*

View File

@@ -234,7 +234,7 @@ struct railgate_stats {
#define MAX_TPC_PG_CONFIGS 9
struct nvgpu_gpfifo_userdata {
struct nvgpu_gpfifo_entry __user *entries;
struct nvgpu_gpfifo_entry nvgpu_user *entries;
struct _resmgr_context *context;
};

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -99,7 +99,7 @@ static inline int nvgpu_ref_put_return(struct nvgpu_ref *ref,
* @ref: the nvgpu_ref object
* Return non-zero if the increment succeeds, Otherwise return 0.
*/
static inline int __must_check nvgpu_ref_get_unless_zero(struct nvgpu_ref *ref)
static inline int nvgpu_ref_get_unless_zero(struct nvgpu_ref *ref)
{
return nvgpu_atomic_add_unless(&ref->refcount, 1, 0);
}

View File

@@ -0,0 +1,25 @@
/*
* Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __NVGPU_UTILS_LINUX_H__
#define __NVGPU_UTILS_LINUX_H__
#include <linux/kernel.h>
/** User memory macro. */
#define nvgpu_user __user
#endif /* __NVGPU_UTILS_LINUX_H__ */

View File

@@ -466,20 +466,8 @@ static inline unsigned int nvgpu_posix_hweight64(uint64_t x)
/** Hamming weight of 64 bit input value. */
#define hweight_long nvgpu_posix_hweight64
/*
* Better suited under a compiler.h type header file, but for now these can live
* here.
*/
/** Compiler extension directive to ensure that a return value is checked. */
#define __must_check __attribute__((warn_unused_result))
#ifndef __user
/** Defined to match kernel macro names. */
#define __user
#else
#error "__user already defined !!"
#endif
/** Dummy macro to match kernel names. */
#define nvgpu_user
/** Defined to match kernel macro names. */
#define unlikely(x) (x)

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -27,7 +27,7 @@
#include <nvgpu/static_analysis.h>
#ifdef __KERNEL__
#include <linux/kernel.h>
#include <nvgpu/linux/utils.h>
#else
#include <nvgpu/posix/utils.h>
#endif

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -29,7 +29,7 @@ int nvgpu_init_gpu_characteristics(struct gk20a *g)
return -1;
}
struct gk20a * __must_check nvgpu_get(struct gk20a *g)
struct gk20a *nvgpu_get(struct gk20a *g)
{
BUG();

View File

@@ -1,7 +1,7 @@
/*
* NVGPU Public Interface Header
*
* Copyright (c) 2011-2019, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2011-2020, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
@@ -21,6 +21,7 @@
#if !defined(__KERNEL__)
#define __user
#define nvgpu_user
/* Some userspace builds have __packed defined already */
#if !defined(__packed)