mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: Restructure boardobjgrp unit
This patch does the following for boardobjgrp unit. 1. Remove unused functions and its pointers. 2. Append public functions with nvgpu. 3. Remove unnecessary inclusion of header files. 4. Make local functions as static. 5. Fix 11.3 and 17.7 Misra violations. 6. Rename function names to increase readibility. 7. Remove boardobj* from static functions. Jira NVGPU-1976 Jira NVGPU-1978 Change-Id: Ic262ddf6d913f3ad5002772265bafac0cb0e2d29 Signed-off-by: Abdul Salam <absalam@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2107169 GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@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
bc10ef568e
commit
f17f6c95c2
@@ -23,10 +23,59 @@
|
||||
#include <nvgpu/kmem.h>
|
||||
#include <nvgpu/gk20a.h>
|
||||
#include <nvgpu/boardobj.h>
|
||||
#include <nvgpu/pmu/pmuif/ctrlboardobj.h>
|
||||
|
||||
int boardobj_construct_super(struct gk20a *g, struct boardobj **ppboardobj,
|
||||
size_t size, void *args)
|
||||
/*
|
||||
* Destructor for the base board object. Called by each device-Specific
|
||||
* implementation of the BOARDOBJ interface to destroy the board object.
|
||||
* This has to be explicitly set by each device that extends from the
|
||||
* board object.
|
||||
*/
|
||||
static int destruct_super(struct boardobj *pboardobj)
|
||||
{
|
||||
struct gk20a *g = pboardobj->g;
|
||||
|
||||
nvgpu_log_info(g, " ");
|
||||
if (pboardobj == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
nvgpu_list_del(&pboardobj->node);
|
||||
if (pboardobj->allocated) {
|
||||
nvgpu_kfree(pboardobj->g, pboardobj);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* check whether the specified BOARDOBJ object implements the queried
|
||||
* type/class enumeration.
|
||||
*/
|
||||
static bool implements_super(struct gk20a *g, struct boardobj *pboardobj,
|
||||
u8 type)
|
||||
{
|
||||
nvgpu_log_info(g, " ");
|
||||
|
||||
return (0U != (pboardobj->type_mask & BIT32(type)));
|
||||
}
|
||||
|
||||
int nvgpu_boardobj_pmu_data_init_super(struct gk20a *g,
|
||||
struct boardobj *pboardobj, struct nv_pmu_boardobj *pmudata)
|
||||
{
|
||||
nvgpu_log_info(g, " ");
|
||||
if (pboardobj == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
if (pmudata == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
pmudata->type = pboardobj->type;
|
||||
nvgpu_log_info(g, " Done");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int nvgpu_boardobj_construct_super(struct gk20a *g, struct boardobj
|
||||
**ppboardobj, size_t size, void *args)
|
||||
{
|
||||
struct boardobj *pboardobj = NULL;
|
||||
struct boardobj *devtmp = (struct boardobj *)args;
|
||||
@@ -51,51 +100,13 @@ int boardobj_construct_super(struct gk20a *g, struct boardobj **ppboardobj,
|
||||
pboardobj->idx = CTRL_BOARDOBJ_IDX_INVALID;
|
||||
pboardobj->type_mask = BIT32(pboardobj->type) | devtmp->type_mask;
|
||||
|
||||
pboardobj->implements = boardobj_implements_super;
|
||||
pboardobj->destruct = boardobj_destruct_super;
|
||||
pboardobj->pmudatainit = boardobj_pmudatainit_super;
|
||||
pboardobj->implements = implements_super;
|
||||
pboardobj->destruct = destruct_super;
|
||||
pboardobj->pmudatainit = nvgpu_boardobj_pmu_data_init_super;
|
||||
|
||||
nvgpu_list_add(&pboardobj->node, &g->boardobj_head);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int boardobj_destruct_super(struct boardobj *pboardobj)
|
||||
{
|
||||
struct gk20a *g = pboardobj->g;
|
||||
|
||||
nvgpu_log_info(g, " ");
|
||||
if (pboardobj == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
nvgpu_list_del(&pboardobj->node);
|
||||
if (pboardobj->allocated) {
|
||||
nvgpu_kfree(pboardobj->g, pboardobj);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool boardobj_implements_super(struct gk20a *g, struct boardobj *pboardobj,
|
||||
u8 type)
|
||||
{
|
||||
nvgpu_log_info(g, " ");
|
||||
|
||||
return (0U != (pboardobj->type_mask & BIT(type)));
|
||||
}
|
||||
|
||||
int boardobj_pmudatainit_super(struct gk20a *g, struct boardobj *pboardobj,
|
||||
struct nv_pmu_boardobj *pmudata)
|
||||
{
|
||||
nvgpu_log_info(g, " ");
|
||||
if (pboardobj == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
if (pmudata == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
pmudata->type = pboardobj->type;
|
||||
nvgpu_log_info(g, " Done");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user