Files
linux-hwpm/os/linux/kmem.c
Vedashree Vidwans 37dc9132f2 tegra: hwpm: add wrapper for kmem functions
APIs from kmem such as kzalloc, kcalloc and kfree are linux specific.
Add wrapper for these API calls and replace direct API usage in the
code.

Jira THWPM-59

Change-Id: I9cbd033756d1b6bc5a3781496dcb19508ba8f850
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2738153
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Vasuki Shankar <vasukis@nvidia.com>
Reviewed-by: Seema Khowala <seemaj@nvidia.com>
GVS: Gerrit_Virtual_Submit
2022-08-12 15:50:33 -07:00

52 lines
1.3 KiB
C

/*
* Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. 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.
*/
#include <linux/slab.h>
#include <tegra_hwpm.h>
#include <tegra_hwpm_log.h>
#include <tegra_hwpm_kmem.h>
void *tegra_hwpm_kzalloc_impl(struct tegra_soc_hwpm *hwpm, size_t size)
{
void *ptr;
ptr = kzalloc(size, GFP_KERNEL);
tegra_hwpm_dbg(hwpm, hwpm_dbg_kmem,
"kzalloc: size 0x%lx addr %p gfp 0x%x",
size, ptr, GFP_KERNEL);
return ptr;
}
void *tegra_hwpm_kcalloc_impl(struct tegra_soc_hwpm *hwpm, u32 num, size_t size)
{
void *ptr;
ptr = kcalloc(num, size, GFP_KERNEL);
tegra_hwpm_dbg(hwpm, hwpm_dbg_kmem,
"kzalloc: size 0x%lx addr %p gfp 0x%x",
num * size, ptr, GFP_KERNEL);
return ptr;
}
void tegra_hwpm_kfree_impl(struct tegra_soc_hwpm *hwpm, void *addr)
{
tegra_hwpm_dbg(hwpm, hwpm_dbg_kmem, "kfree: addr %p", addr);
kfree(addr);
}