gpu: nvgpu: nvgpu_memcpy changes to linux os code

MISRA Rule 21.15 prohibits use of memcpy() with incompatible ptrs
to qualified/unqualified types.

To circumvent this issue we've introduced a new MISRA-compliant
nvgpu_memcpy() function.

While linux os code does not need to be MISRA-compliant this
change switches over all memcpy() uses to nvgpu_memcpy()
with appropriate casts applied to maintain consistency within
the nvgpu source base.

JIRA NVGPU-849

Change-Id: I2c21a7845df5709dafa19508c121f8afa27cc4fc
Signed-off-by: Scott Long <scottl@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1950995
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Nitin Kumbhar <nkumbhar@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>
This commit is contained in:
Scott Long
2018-11-14 15:25:49 -08:00
committed by mobile promotions
parent df92b05e43
commit e24df49765
7 changed files with 28 additions and 16 deletions

View File

@@ -28,6 +28,7 @@
#include <nvgpu/soc.h>
#include <nvgpu/sim.h>
#include <nvgpu/gk20a.h>
#include <nvgpu/string.h>
#include "nvlink.h"
#include "clk/clk.h"
@@ -701,8 +702,8 @@ static int nvgpu_pci_probe(struct pci_dev *pdev,
}
/* copy detected device data to allocated platform space*/
(void) memcpy((void *)platform,
(void *)&nvgpu_pci_device[pent->driver_data],
nvgpu_memcpy((u8 *)platform,
(u8 *)&nvgpu_pci_device[pent->driver_data],
sizeof(struct gk20a_platform));
pci_set_drvdata(pdev, platform);