mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: fix MISRA 21.6 violation in nvgpu.common.mm.as
Below MISRA 21.6 violation is reported in nvgpu.common.mm.as
${TEGRA_TOP}/kernel/nvgpu/drivers/gpu/nvgpu/common/mm/as.c:79:
misra_violation: Using function "snprintf".
Fix this by replacing snprintf with strncpy.
Add nvgpu_strnadd_u32 function to convert u32 to string
The function supports radix from 2 to 16.
Jira NVGPU-3333
Change-Id: Idee739dfdedeabb74d0d9f7d4cddd798445f0ee1
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2117019
GVS: Gerrit_Virtual_Submit
Reviewed-by: Philip Elcan <pelcan@nvidia.com>
Reviewed-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
9b2f6925ca
commit
1fd2e43a3f
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include <nvgpu/string.h>
|
||||
#include <nvgpu/log.h>
|
||||
|
||||
void
|
||||
nvgpu_memcpy(u8 *destb, const u8 *srcb, size_t n)
|
||||
@@ -33,3 +34,46 @@ nvgpu_memcmp(const u8 *b1, const u8 *b2, size_t n)
|
||||
{
|
||||
return memcmp(b1, b2, n);
|
||||
}
|
||||
|
||||
int nvgpu_strnadd_u32(char *dst, const u32 value, size_t size, u32 radix)
|
||||
{
|
||||
int n;
|
||||
u32 v;
|
||||
char *p;
|
||||
u32 digit;
|
||||
|
||||
if (radix < 2U || radix > 16U) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* how many digits do we need ? */
|
||||
n = 0;
|
||||
v = value;
|
||||
do {
|
||||
n++;
|
||||
v = v / radix;
|
||||
} while (v > 0U);
|
||||
|
||||
/* bail out if there is not room for '\0' */
|
||||
if (n >= (int)size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* number of digits (not including '\0') */
|
||||
p = dst + n;
|
||||
|
||||
/* terminate with '\0' */
|
||||
*p = '\0';
|
||||
p--;
|
||||
|
||||
v = value;
|
||||
do {
|
||||
digit = v % radix;
|
||||
*p = "0123456789abdcef"[digit];
|
||||
v = v / radix;
|
||||
p--;
|
||||
}
|
||||
while (v > 0U);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user