summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/boardobj
diff options
context:
space:
mode:
authorSrirangan <smadhavan@nvidia.com>2018-08-28 01:39:19 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-08-28 09:47:36 -0400
commit361eca66b58051d46daad1b600eef1f72b7f15c0 (patch)
treee101ab419710c0ceb3b641098210d4147c11919e /drivers/gpu/nvgpu/boardobj
parent4032e8915a65aa94f8b556676c5606683ec28f52 (diff)
gpu: nvgpu: boardobj: Fix MISRA 15.6 violations
MISRA Rule-15.6 requires that all if-else blocks be enclosed in braces, including single statement blocks. Fix errors due to single statement if blocks without braces, introducing the braces. JIRA NVGPU-671 Change-Id: I604d85367cd4b99c39df2b9fa2d7a7219ef941d5 Signed-off-by: Srirangan <smadhavan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1807153 Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> Reviewed-by: Konsta Holtta <kholtta@nvidia.com> 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>
Diffstat (limited to 'drivers/gpu/nvgpu/boardobj')
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobj.c18
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobjgrp.c156
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobjgrp_e255.c12
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobjgrp_e32.c12
-rw-r--r--drivers/gpu/nvgpu/boardobj/boardobjgrpmask.c105
5 files changed, 202 insertions, 101 deletions
diff --git a/drivers/gpu/nvgpu/boardobj/boardobj.c b/drivers/gpu/nvgpu/boardobj/boardobj.c
index f38c7c4a..5f726935 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobj.c
+++ b/drivers/gpu/nvgpu/boardobj/boardobj.c
@@ -34,13 +34,15 @@ u32 boardobj_construct_super(struct gk20a *g, struct boardobj **ppboardobj,
34 34
35 nvgpu_log_info(g, " "); 35 nvgpu_log_info(g, " ");
36 36
37 if (devtmp == NULL) 37 if (devtmp == NULL) {
38 return -EINVAL; 38 return -EINVAL;
39 }
39 40
40 if (*ppboardobj == NULL) { 41 if (*ppboardobj == NULL) {
41 *ppboardobj = nvgpu_kzalloc(g, size); 42 *ppboardobj = nvgpu_kzalloc(g, size);
42 if (*ppboardobj == NULL) 43 if (*ppboardobj == NULL) {
43 return -ENOMEM; 44 return -ENOMEM;
45 }
44 (*ppboardobj)->allocated = true; 46 (*ppboardobj)->allocated = true;
45 } 47 }
46 48
@@ -64,12 +66,14 @@ u32 boardobj_destruct_super(struct boardobj *pboardobj)
64 struct gk20a *g = pboardobj->g; 66 struct gk20a *g = pboardobj->g;
65 67
66 nvgpu_log_info(g, " "); 68 nvgpu_log_info(g, " ");
67 if (pboardobj == NULL) 69 if (pboardobj == NULL) {
68 return -EINVAL; 70 return -EINVAL;
71 }
69 72
70 nvgpu_list_del(&pboardobj->node); 73 nvgpu_list_del(&pboardobj->node);
71 if (pboardobj->allocated) 74 if (pboardobj->allocated) {
72 nvgpu_kfree(pboardobj->g, pboardobj); 75 nvgpu_kfree(pboardobj->g, pboardobj);
76 }
73 77
74 return 0; 78 return 0;
75} 79}
@@ -86,10 +90,12 @@ u32 boardobj_pmudatainit_super(struct gk20a *g, struct boardobj *pboardobj,
86 struct nv_pmu_boardobj *pmudata) 90 struct nv_pmu_boardobj *pmudata)
87{ 91{
88 nvgpu_log_info(g, " "); 92 nvgpu_log_info(g, " ");
89 if (pboardobj == NULL) 93 if (pboardobj == NULL) {
90 return -EINVAL; 94 return -EINVAL;
91 if (pmudata == NULL) 95 }
96 if (pmudata == NULL) {
92 return -EINVAL; 97 return -EINVAL;
98 }
93 pmudata->type = pboardobj->type; 99 pmudata->type = pboardobj->type;
94 nvgpu_log_info(g, " Done"); 100 nvgpu_log_info(g, " Done");
95 return 0; 101 return 0;
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp.c b/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
index 7343f66c..e0ab67be 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
+++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp.c
@@ -52,14 +52,17 @@ u32 boardobjgrp_construct_super(struct gk20a *g, struct boardobjgrp *pboardobjgr
52{ 52{
53 nvgpu_log_info(g, " "); 53 nvgpu_log_info(g, " ");
54 54
55 if (pboardobjgrp == NULL) 55 if (pboardobjgrp == NULL) {
56 return -EINVAL; 56 return -EINVAL;
57 }
57 58
58 if (pboardobjgrp->ppobjects == NULL) 59 if (pboardobjgrp->ppobjects == NULL) {
59 return -EINVAL; 60 return -EINVAL;
61 }
60 62
61 if (pboardobjgrp->mask == NULL) 63 if (pboardobjgrp->mask == NULL) {
62 return -EINVAL; 64 return -EINVAL;
65 }
63 66
64 pboardobjgrp->g = g; 67 pboardobjgrp->g = g;
65 pboardobjgrp->objmask = 0; 68 pboardobjgrp->objmask = 0;
@@ -105,11 +108,13 @@ u32 boardobjgrp_destruct_impl(struct boardobjgrp *pboardobjgrp)
105 108
106 nvgpu_log_info(g, " "); 109 nvgpu_log_info(g, " ");
107 110
108 if (pboardobjgrp == NULL) 111 if (pboardobjgrp == NULL) {
109 return -EINVAL; 112 return -EINVAL;
113 }
110 114
111 if (!pboardobjgrp->bconstructed) 115 if (!pboardobjgrp->bconstructed) {
112 return 0; 116 return 0;
117 }
113 118
114 return pboardobjgrp->destruct(pboardobjgrp); 119 return pboardobjgrp->destruct(pboardobjgrp);
115} 120}
@@ -124,15 +129,18 @@ u32 boardobjgrp_destruct_super(struct boardobjgrp *pboardobjgrp)
124 129
125 nvgpu_log_info(g, " "); 130 nvgpu_log_info(g, " ");
126 131
127 if (pboardobjgrp->mask == NULL) 132 if (pboardobjgrp->mask == NULL) {
128 return -EINVAL; 133 return -EINVAL;
129 if (pboardobjgrp->ppobjects == NULL) 134 }
135 if (pboardobjgrp->ppobjects == NULL) {
130 return -EINVAL; 136 return -EINVAL;
137 }
131 138
132 BOARDOBJGRP_FOR_EACH(pboardobjgrp, struct boardobj*, pboardobj, index) { 139 BOARDOBJGRP_FOR_EACH(pboardobjgrp, struct boardobj*, pboardobj, index) {
133 stat = pboardobjgrp->objremoveanddestroy(pboardobjgrp, index); 140 stat = pboardobjgrp->objremoveanddestroy(pboardobjgrp, index);
134 if (status == 0) 141 if (status == 0) {
135 status = stat; 142 status = stat;
143 }
136 144
137 pboardobjgrp->ppobjects[index] = NULL; 145 pboardobjgrp->ppobjects[index] = NULL;
138 pboardobjgrp->objmask &= ~BIT(index); 146 pboardobjgrp->objmask &= ~BIT(index);
@@ -141,20 +149,23 @@ u32 boardobjgrp_destruct_super(struct boardobjgrp *pboardobjgrp)
141 pboardobjgrp->objmask = 0; 149 pboardobjgrp->objmask = 0;
142 150
143 if (pboardobjgrp->objmaxidx != CTRL_BOARDOBJ_IDX_INVALID) { 151 if (pboardobjgrp->objmaxidx != CTRL_BOARDOBJ_IDX_INVALID) {
144 if (status == 0) 152 if (status == 0) {
145 status = -EINVAL; 153 status = -EINVAL;
154 }
146 155
147 WARN_ON(true); 156 WARN_ON(true);
148 } 157 }
149 158
150 /* Destroy the PMU CMD data */ 159 /* Destroy the PMU CMD data */
151 stat = boardobjgrp_pmucmd_destroy_impl(g, &pboardobjgrp->pmu.set); 160 stat = boardobjgrp_pmucmd_destroy_impl(g, &pboardobjgrp->pmu.set);
152 if (status == 0) 161 if (status == 0) {
153 status = stat; 162 status = stat;
163 }
154 164
155 stat = boardobjgrp_pmucmd_destroy_impl(g, &pboardobjgrp->pmu.getstatus); 165 stat = boardobjgrp_pmucmd_destroy_impl(g, &pboardobjgrp->pmu.getstatus);
156 if (status == 0) 166 if (status == 0) {
157 status = stat; 167 status = stat;
168 }
158 169
159 nvgpu_list_del(&pboardobjgrp->node); 170 nvgpu_list_del(&pboardobjgrp->node);
160 171
@@ -210,8 +221,9 @@ int is_boardobjgrp_pmucmd_id_valid_v0(struct gk20a *g,
210{ 221{
211 int err = 0; 222 int err = 0;
212 223
213 if (pcmd->id == BOARDOBJGRP_GRP_CMD_ID_INVALID) 224 if (pcmd->id == BOARDOBJGRP_GRP_CMD_ID_INVALID) {
214 err = -EINVAL; 225 err = -EINVAL;
226 }
215 227
216 return err; 228 return err;
217} 229}
@@ -223,8 +235,9 @@ int is_boardobjgrp_pmucmd_id_valid_v1(struct gk20a *g,
223 int err = 0; 235 int err = 0;
224 236
225 if (pboardobjgrp->pmu.rpc_func_id == 237 if (pboardobjgrp->pmu.rpc_func_id ==
226 BOARDOBJGRP_GRP_RPC_FUNC_ID_INVALID) 238 BOARDOBJGRP_GRP_RPC_FUNC_ID_INVALID) {
227 err = -EINVAL; 239 err = -EINVAL;
240 }
228 241
229 return err; 242 return err;
230} 243}
@@ -239,11 +252,13 @@ u32 boardobjgrp_pmucmd_pmuinithandle_impl(struct gk20a *g,
239 nvgpu_log_info(g, " "); 252 nvgpu_log_info(g, " ");
240 253
241 if (g->ops.pmu_ver.boardobj.is_boardobjgrp_pmucmd_id_valid(g, 254 if (g->ops.pmu_ver.boardobj.is_boardobjgrp_pmucmd_id_valid(g,
242 pboardobjgrp, pcmd)) 255 pboardobjgrp, pcmd)) {
243 goto boardobjgrp_pmucmd_pmuinithandle_exit; 256 goto boardobjgrp_pmucmd_pmuinithandle_exit;
257 }
244 258
245 if (!pcmd->fbsize) 259 if (!pcmd->fbsize) {
246 goto boardobjgrp_pmucmd_pmuinithandle_exit; 260 goto boardobjgrp_pmucmd_pmuinithandle_exit;
261 }
247 262
248 nvgpu_pmu_sysmem_surface_alloc(g, sysmem_desc, pcmd->fbsize); 263 nvgpu_pmu_sysmem_surface_alloc(g, sysmem_desc, pcmd->fbsize);
249 /* we only have got sysmem later this will get copied to vidmem 264 /* we only have got sysmem later this will get copied to vidmem
@@ -280,13 +295,15 @@ u32 boardobjgrp_pmuinithandle_impl(struct gk20a *g,
280 /* If the GRP_SET CMD has not been allocated, nothing left to do. */ 295 /* If the GRP_SET CMD has not been allocated, nothing left to do. */
281 if ((g->ops.pmu_ver.boardobj.is_boardobjgrp_pmucmd_id_valid(g, 296 if ((g->ops.pmu_ver.boardobj.is_boardobjgrp_pmucmd_id_valid(g,
282 pboardobjgrp, &pboardobjgrp->pmu.set))|| 297 pboardobjgrp, &pboardobjgrp->pmu.set))||
283 (BOARDOBJGRP_IS_EMPTY(pboardobjgrp))) 298 (BOARDOBJGRP_IS_EMPTY(pboardobjgrp))) {
284 goto boardobjgrp_pmuinithandle_exit; 299 goto boardobjgrp_pmuinithandle_exit;
300 }
285 301
286 /* Send the BOARDOBJGRP to the pmu via RM_PMU_BOARDOBJ_CMD_GRP. */ 302 /* Send the BOARDOBJGRP to the pmu via RM_PMU_BOARDOBJ_CMD_GRP. */
287 status = pboardobjgrp->pmuset(g, pboardobjgrp); 303 status = pboardobjgrp->pmuset(g, pboardobjgrp);
288 if (status) 304 if (status) {
289 nvgpu_err(g, "failed to send boardobg grp to PMU"); 305 nvgpu_err(g, "failed to send boardobg grp to PMU");
306 }
290 307
291boardobjgrp_pmuinithandle_exit: 308boardobjgrp_pmuinithandle_exit:
292 return status; 309 return status;
@@ -299,10 +316,12 @@ u32 boardobjgrp_pmuhdrdatainit_super(struct gk20a *g, struct boardobjgrp
299{ 316{
300 nvgpu_log_info(g, " "); 317 nvgpu_log_info(g, " ");
301 318
302 if (pboardobjgrp == NULL) 319 if (pboardobjgrp == NULL) {
303 return -EINVAL; 320 return -EINVAL;
304 if (pboardobjgrppmu == NULL) 321 }
322 if (pboardobjgrppmu == NULL) {
305 return -EINVAL; 323 return -EINVAL;
324 }
306 pboardobjgrppmu->type = pboardobjgrp->type; 325 pboardobjgrppmu->type = pboardobjgrp->type;
307 pboardobjgrppmu->class_id = pboardobjgrp->classid; 326 pboardobjgrppmu->class_id = pboardobjgrp->classid;
308 pboardobjgrppmu->obj_slots = BOARDOBJGRP_PMU_SLOTS_GET(pboardobjgrp); 327 pboardobjgrppmu->obj_slots = BOARDOBJGRP_PMU_SLOTS_GET(pboardobjgrp);
@@ -340,10 +359,12 @@ u32 boardobjgrp_pmudatainit_legacy(struct gk20a *g,
340 359
341 nvgpu_log_info(g, " "); 360 nvgpu_log_info(g, " ");
342 361
343 if (pboardobjgrp == NULL) 362 if (pboardobjgrp == NULL) {
344 return -EINVAL; 363 return -EINVAL;
345 if (pboardobjgrppmu == NULL) 364 }
365 if (pboardobjgrppmu == NULL) {
346 return -EINVAL; 366 return -EINVAL;
367 }
347 368
348 boardobjgrpe32hdrset((struct nv_pmu_boardobjgrp *)pboardobjgrppmu, 369 boardobjgrpe32hdrset((struct nv_pmu_boardobjgrp *)pboardobjgrppmu,
349 pboardobjgrp->objmask); 370 pboardobjgrp->objmask);
@@ -390,10 +411,12 @@ u32 boardobjgrp_pmudatainit_super(struct gk20a *g, struct boardobjgrp
390 411
391 nvgpu_log_info(g, " "); 412 nvgpu_log_info(g, " ");
392 413
393 if (pboardobjgrp == NULL) 414 if (pboardobjgrp == NULL) {
394 return -EINVAL; 415 return -EINVAL;
395 if (pboardobjgrppmu == NULL) 416 }
417 if (pboardobjgrppmu == NULL) {
396 return -EINVAL; 418 return -EINVAL;
419 }
397 420
398 /* Initialize the PMU HDR data.*/ 421 /* Initialize the PMU HDR data.*/
399 status = pboardobjgrp->pmuhdrdatainit(g, pboardobjgrp, pboardobjgrppmu, 422 status = pboardobjgrp->pmuhdrdatainit(g, pboardobjgrp, pboardobjgrppmu,
@@ -429,21 +452,26 @@ boardobjgrppmudatainit_super_done:
429static int check_boardobjgrp_param(struct gk20a *g, 452static int check_boardobjgrp_param(struct gk20a *g,
430 struct boardobjgrp *pboardobjgrp) 453 struct boardobjgrp *pboardobjgrp)
431{ 454{
432 if (pboardobjgrp == NULL) 455 if (pboardobjgrp == NULL) {
433 return -EINVAL; 456 return -EINVAL;
457 }
434 458
435 if (!pboardobjgrp->bconstructed) 459 if (!pboardobjgrp->bconstructed) {
436 return -EINVAL; 460 return -EINVAL;
461 }
437 462
438 if (pboardobjgrp->pmu.unitid == BOARDOBJGRP_UNIT_ID_INVALID) 463 if (pboardobjgrp->pmu.unitid == BOARDOBJGRP_UNIT_ID_INVALID) {
439 return -EINVAL; 464 return -EINVAL;
465 }
440 466
441 if (pboardobjgrp->pmu.classid == BOARDOBJGRP_GRP_CLASS_ID_INVALID) 467 if (pboardobjgrp->pmu.classid == BOARDOBJGRP_GRP_CLASS_ID_INVALID) {
442 return -EINVAL; 468 return -EINVAL;
469 }
443 470
444 /* If no objects in the group, return early */ 471 /* If no objects in the group, return early */
445 if (BOARDOBJGRP_IS_EMPTY(pboardobjgrp)) 472 if (BOARDOBJGRP_IS_EMPTY(pboardobjgrp)) {
446 return -EINVAL; 473 return -EINVAL;
474 }
447 475
448 return 0; 476 return 0;
449} 477}
@@ -456,16 +484,19 @@ u32 boardobjgrp_pmuset_impl(struct gk20a *g, struct boardobjgrp *pboardobjgrp)
456 484
457 nvgpu_log_info(g, " "); 485 nvgpu_log_info(g, " ");
458 486
459 if (check_boardobjgrp_param(g, pboardobjgrp)) 487 if (check_boardobjgrp_param(g, pboardobjgrp)) {
460 return -EINVAL; 488 return -EINVAL;
489 }
461 490
462 if (pboardobjgrp->pmu.set.id == BOARDOBJGRP_GRP_CMD_ID_INVALID) 491 if (pboardobjgrp->pmu.set.id == BOARDOBJGRP_GRP_CMD_ID_INVALID) {
463 return -EINVAL; 492 return -EINVAL;
493 }
464 494
465 if ((pcmd->hdrsize == 0) || 495 if ((pcmd->hdrsize == 0) ||
466 (pcmd->entrysize == 0) || 496 (pcmd->entrysize == 0) ||
467 (pcmd->buf == NULL)) 497 (pcmd->buf == NULL)) {
468 return -EINVAL; 498 return -EINVAL;
499 }
469 500
470 /* Initialize PMU buffer with BOARDOBJGRP data. */ 501 /* Initialize PMU buffer with BOARDOBJGRP data. */
471 memset(pcmd->buf, 0x0, pcmd->fbsize); 502 memset(pcmd->buf, 0x0, pcmd->fbsize);
@@ -515,13 +546,15 @@ u32 boardobjgrp_pmuset_impl_v1(struct gk20a *g, struct boardobjgrp *pboardobjgrp
515 546
516 nvgpu_log_info(g, " "); 547 nvgpu_log_info(g, " ");
517 548
518 if (check_boardobjgrp_param(g, pboardobjgrp)) 549 if (check_boardobjgrp_param(g, pboardobjgrp)) {
519 return -EINVAL; 550 return -EINVAL;
551 }
520 552
521 if ((pcmd->buf == NULL) && 553 if ((pcmd->buf == NULL) &&
522 (pboardobjgrp->pmu.rpc_func_id == 554 (pboardobjgrp->pmu.rpc_func_id ==
523 BOARDOBJGRP_GRP_RPC_FUNC_ID_INVALID)) 555 BOARDOBJGRP_GRP_RPC_FUNC_ID_INVALID)) {
524 return -EINVAL; 556 return -EINVAL;
557 }
525 558
526 /* Initialize PMU buffer with BOARDOBJGRP data. */ 559 /* Initialize PMU buffer with BOARDOBJGRP data. */
527 memset(pcmd->buf, 0x0, pcmd->fbsize); 560 memset(pcmd->buf, 0x0, pcmd->fbsize);
@@ -572,23 +605,27 @@ boardobjgrp_pmugetstatus_impl(struct gk20a *g, struct boardobjgrp *pboardobjgrp,
572 605
573 nvgpu_log_info(g, " "); 606 nvgpu_log_info(g, " ");
574 607
575 if (check_boardobjgrp_param(g, pboardobjgrp)) 608 if (check_boardobjgrp_param(g, pboardobjgrp)) {
576 return -EINVAL; 609 return -EINVAL;
610 }
577 611
578 if (pset->id == BOARDOBJGRP_GRP_CMD_ID_INVALID) 612 if (pset->id == BOARDOBJGRP_GRP_CMD_ID_INVALID) {
579 return -EINVAL; 613 return -EINVAL;
614 }
580 615
581 if ((pcmd->hdrsize == 0) || 616 if ((pcmd->hdrsize == 0) ||
582 (pcmd->entrysize == 0) || 617 (pcmd->entrysize == 0) ||
583 (pcmd->buf == NULL)) 618 (pcmd->buf == NULL)) {
584 return -EINVAL; 619 return -EINVAL;
620 }
585 621
586 /* 622 /*
587 * Can only GET_STATUS if the BOARDOBJGRP has been previously SET to the 623 * Can only GET_STATUS if the BOARDOBJGRP has been previously SET to the
588 * PMU 624 * PMU
589 */ 625 */
590 if (!pboardobjgrp->pmu.bset) 626 if (!pboardobjgrp->pmu.bset) {
591 return -EINVAL; 627 return -EINVAL;
628 }
592 629
593 /* 630 /*
594 * alloc mem in vidmem & copy constructed pmu boardobjgrp data from 631 * alloc mem in vidmem & copy constructed pmu boardobjgrp data from
@@ -639,20 +676,23 @@ boardobjgrp_pmugetstatus_impl_v1(struct gk20a *g, struct boardobjgrp *pboardobjg
639 676
640 nvgpu_log_info(g, " "); 677 nvgpu_log_info(g, " ");
641 678
642 if (check_boardobjgrp_param(g, pboardobjgrp)) 679 if (check_boardobjgrp_param(g, pboardobjgrp)) {
643 return -EINVAL; 680 return -EINVAL;
681 }
644 682
645 if ((pcmd->buf == NULL) && 683 if ((pcmd->buf == NULL) &&
646 (pboardobjgrp->pmu.rpc_func_id == 684 (pboardobjgrp->pmu.rpc_func_id ==
647 BOARDOBJGRP_GRP_RPC_FUNC_ID_INVALID)) 685 BOARDOBJGRP_GRP_RPC_FUNC_ID_INVALID)) {
648 return -EINVAL; 686 return -EINVAL;
687 }
649 688
650 /* 689 /*
651 * Can only GET_STATUS if the BOARDOBJGRP has been 690 * Can only GET_STATUS if the BOARDOBJGRP has been
652 * previously SET to the PMU 691 * previously SET to the PMU
653 */ 692 */
654 if (!pboardobjgrp->pmu.bset) 693 if (!pboardobjgrp->pmu.bset) {
655 return -EINVAL; 694 return -EINVAL;
695 }
656 696
657 /* 697 /*
658 * Initialize PMU buffer with the mask of 698 * Initialize PMU buffer with the mask of
@@ -696,24 +736,29 @@ boardobjgrp_objinsert_final(struct boardobjgrp *pboardobjgrp,
696 736
697 nvgpu_log_info(g, " "); 737 nvgpu_log_info(g, " ");
698 738
699 if (pboardobjgrp == NULL) 739 if (pboardobjgrp == NULL) {
700 return -EINVAL; 740 return -EINVAL;
741 }
701 742
702 if (pboardobj == NULL) 743 if (pboardobj == NULL) {
703 return -EINVAL; 744 return -EINVAL;
745 }
704 746
705 if (index > pboardobjgrp->objslots) 747 if (index > pboardobjgrp->objslots) {
706 return -EINVAL; 748 return -EINVAL;
749 }
707 750
708 if (pboardobjgrp->ppobjects[index] != NULL) 751 if (pboardobjgrp->ppobjects[index] != NULL) {
709 return -EINVAL; 752 return -EINVAL;
753 }
710 754
711 /* 755 /*
712 * Check that this BOARDOBJ has not already been added to a 756 * Check that this BOARDOBJ has not already been added to a
713 * BOARDOBJGRP 757 * BOARDOBJGRP
714 */ 758 */
715 if (pboardobj->idx != CTRL_BOARDOBJ_IDX_INVALID) 759 if (pboardobj->idx != CTRL_BOARDOBJ_IDX_INVALID) {
716 return -EINVAL; 760 return -EINVAL;
761 }
717 762
718 pboardobjgrp->ppobjects[index] = pboardobj; 763 pboardobjgrp->ppobjects[index] = pboardobj;
719 pboardobjgrp->objmaxidx = BOARDOBJGRP_IS_EMPTY(pboardobjgrp) ? 764 pboardobjgrp->objmaxidx = BOARDOBJGRP_IS_EMPTY(pboardobjgrp) ?
@@ -730,8 +775,9 @@ boardobjgrp_objinsert_final(struct boardobjgrp *pboardobjgrp,
730static struct boardobj *boardobjgrp_objgetbyidx_final( 775static struct boardobj *boardobjgrp_objgetbyidx_final(
731 struct boardobjgrp *pboardobjgrp, u8 index) 776 struct boardobjgrp *pboardobjgrp, u8 index)
732{ 777{
733 if (!boardobjgrp_idxisvalid(pboardobjgrp, index)) 778 if (!boardobjgrp_idxisvalid(pboardobjgrp, index)) {
734 return NULL; 779 return NULL;
780 }
735 return pboardobjgrp->ppobjects[index]; 781 return pboardobjgrp->ppobjects[index];
736} 782}
737 783
@@ -743,11 +789,13 @@ static struct boardobj *boardobjgrp_objgetnext_final(
743 u8 objmaxidx; 789 u8 objmaxidx;
744 u8 index; 790 u8 index;
745 791
746 if (currentindex == NULL) 792 if (currentindex == NULL) {
747 return NULL; 793 return NULL;
794 }
748 795
749 if (pboardobjgrp == NULL) 796 if (pboardobjgrp == NULL) {
750 return NULL; 797 return NULL;
798 }
751 799
752 /* Search from next element unless first object was requested */ 800 /* Search from next element unless first object was requested */
753 index = (*currentindex != CTRL_BOARDOBJ_IDX_INVALID) ? 801 index = (*currentindex != CTRL_BOARDOBJ_IDX_INVALID) ?
@@ -759,8 +807,9 @@ static struct boardobj *boardobjgrp_objgetnext_final(
759 807
760 /* Validate provided mask */ 808 /* Validate provided mask */
761 if (mask != NULL) { 809 if (mask != NULL) {
762 if (!(boardobjgrpmask_sizeeq(pboardobjgrp->mask, mask))) 810 if (!(boardobjgrpmask_sizeeq(pboardobjgrp->mask, mask))) {
763 return NULL; 811 return NULL;
812 }
764 } 813 }
765 814
766 objmaxidx = pboardobjgrp->objmaxidx; 815 objmaxidx = pboardobjgrp->objmaxidx;
@@ -796,11 +845,13 @@ static u32 boardobjgrp_objremoveanddestroy_final(
796 845
797 nvgpu_log_info(g, " "); 846 nvgpu_log_info(g, " ");
798 847
799 if (!boardobjgrp_idxisvalid(pboardobjgrp, index)) 848 if (!boardobjgrp_idxisvalid(pboardobjgrp, index)) {
800 return -EINVAL; 849 return -EINVAL;
850 }
801 851
802 if (pboardobjgrp->objmaxidx == CTRL_BOARDOBJ_IDX_INVALID) 852 if (pboardobjgrp->objmaxidx == CTRL_BOARDOBJ_IDX_INVALID) {
803 return -EINVAL; 853 return -EINVAL;
854 }
804 855
805 status = pboardobjgrp->ppobjects[index]->destruct( 856 status = pboardobjgrp->ppobjects[index]->destruct(
806 pboardobjgrp->ppobjects[index]); 857 pboardobjgrp->ppobjects[index]);
@@ -811,8 +862,9 @@ static u32 boardobjgrp_objremoveanddestroy_final(
811 862
812 stat = boardobjgrpmask_bitclr(pboardobjgrp->mask, index); 863 stat = boardobjgrpmask_bitclr(pboardobjgrp->mask, index);
813 if (stat) { 864 if (stat) {
814 if (status == 0) 865 if (status == 0) {
815 status = stat; 866 status = stat;
867 }
816 } 868 }
817 869
818 /* objmaxidx requires update only if that very object was removed */ 870 /* objmaxidx requires update only if that very object was removed */
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp_e255.c b/drivers/gpu/nvgpu/boardobj/boardobjgrp_e255.c
index 1f2cd836..a7da8064 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobjgrp_e255.c
+++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp_e255.c
@@ -37,8 +37,9 @@ u32 boardobjgrpconstruct_e255(struct gk20a *g,
37 37
38 objslots = 255; 38 objslots = 255;
39 status = boardobjgrpmask_e255_init(&pboardobjgrp_e255->mask, NULL); 39 status = boardobjgrpmask_e255_init(&pboardobjgrp_e255->mask, NULL);
40 if (status) 40 if (status) {
41 goto boardobjgrpconstruct_e255_exit; 41 goto boardobjgrpconstruct_e255_exit;
42 }
42 43
43 pboardobjgrp_e255->super.type = CTRL_BOARDOBJGRP_TYPE_E255; 44 pboardobjgrp_e255->super.type = CTRL_BOARDOBJGRP_TYPE_E255;
44 pboardobjgrp_e255->super.ppobjects = pboardobjgrp_e255->objects; 45 pboardobjgrp_e255->super.ppobjects = pboardobjgrp_e255->objects;
@@ -46,8 +47,9 @@ u32 boardobjgrpconstruct_e255(struct gk20a *g,
46 pboardobjgrp_e255->super.mask = &(pboardobjgrp_e255->mask.super); 47 pboardobjgrp_e255->super.mask = &(pboardobjgrp_e255->mask.super);
47 48
48 status = boardobjgrp_construct_super(g, &pboardobjgrp_e255->super); 49 status = boardobjgrp_construct_super(g, &pboardobjgrp_e255->super);
49 if (status) 50 if (status) {
50 goto boardobjgrpconstruct_e255_exit; 51 goto boardobjgrpconstruct_e255_exit;
52 }
51 53
52 pboardobjgrp_e255->super.pmuhdrdatainit = 54 pboardobjgrp_e255->super.pmuhdrdatainit =
53 boardobjgrp_pmuhdrdatainit_e255; 55 boardobjgrp_pmuhdrdatainit_e255;
@@ -67,11 +69,13 @@ u32 boardobjgrp_pmuhdrdatainit_e255(struct gk20a *g,
67 69
68 nvgpu_log_info(g, " "); 70 nvgpu_log_info(g, " ");
69 71
70 if (pboardobjgrp == NULL) 72 if (pboardobjgrp == NULL) {
71 return -EINVAL; 73 return -EINVAL;
74 }
72 75
73 if (pboardobjgrppmu == NULL) 76 if (pboardobjgrppmu == NULL) {
74 return -EINVAL; 77 return -EINVAL;
78 }
75 79
76 status = boardobjgrpmask_export(mask, 80 status = boardobjgrpmask_export(mask,
77 mask->bitcount, 81 mask->bitcount,
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp_e32.c b/drivers/gpu/nvgpu/boardobj/boardobjgrp_e32.c
index 6d4b4520..60e5caf6 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobjgrp_e32.c
+++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp_e32.c
@@ -38,8 +38,9 @@ u32 boardobjgrpconstruct_e32(struct gk20a *g,
38 objslots = 32; 38 objslots = 32;
39 39
40 status = boardobjgrpmask_e32_init(&pboardobjgrp_e32->mask, NULL); 40 status = boardobjgrpmask_e32_init(&pboardobjgrp_e32->mask, NULL);
41 if (status) 41 if (status) {
42 goto boardobjgrpconstruct_e32_exit; 42 goto boardobjgrpconstruct_e32_exit;
43 }
43 44
44 pboardobjgrp_e32->super.type = CTRL_BOARDOBJGRP_TYPE_E32; 45 pboardobjgrp_e32->super.type = CTRL_BOARDOBJGRP_TYPE_E32;
45 pboardobjgrp_e32->super.ppobjects = pboardobjgrp_e32->objects; 46 pboardobjgrp_e32->super.ppobjects = pboardobjgrp_e32->objects;
@@ -47,8 +48,9 @@ u32 boardobjgrpconstruct_e32(struct gk20a *g,
47 pboardobjgrp_e32->super.mask = &(pboardobjgrp_e32->mask.super); 48 pboardobjgrp_e32->super.mask = &(pboardobjgrp_e32->mask.super);
48 49
49 status = boardobjgrp_construct_super(g, &pboardobjgrp_e32->super); 50 status = boardobjgrp_construct_super(g, &pboardobjgrp_e32->super);
50 if (status) 51 if (status) {
51 goto boardobjgrpconstruct_e32_exit; 52 goto boardobjgrpconstruct_e32_exit;
53 }
52 54
53 pboardobjgrp_e32->super.pmuhdrdatainit = boardobjgrp_pmuhdrdatainit_e32; 55 pboardobjgrp_e32->super.pmuhdrdatainit = boardobjgrp_pmuhdrdatainit_e32;
54 56
@@ -67,11 +69,13 @@ u32 boardobjgrp_pmuhdrdatainit_e32(struct gk20a *g,
67 69
68 nvgpu_log_info(g, " "); 70 nvgpu_log_info(g, " ");
69 71
70 if (pboardobjgrp == NULL) 72 if (pboardobjgrp == NULL) {
71 return -EINVAL; 73 return -EINVAL;
74 }
72 75
73 if (pboardobjgrppmu == NULL) 76 if (pboardobjgrppmu == NULL) {
74 return -EINVAL; 77 return -EINVAL;
78 }
75 status = boardobjgrpmask_export(mask, 79 status = boardobjgrpmask_export(mask,
76 mask->bitcount, 80 mask->bitcount,
77 &pgrpe32->obj_mask.super); 81 &pgrpe32->obj_mask.super);
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrpmask.c b/drivers/gpu/nvgpu/boardobj/boardobjgrpmask.c
index 849abe16..c3f4f4a5 100644
--- a/drivers/gpu/nvgpu/boardobj/boardobjgrpmask.c
+++ b/drivers/gpu/nvgpu/boardobj/boardobjgrpmask.c
@@ -32,11 +32,13 @@
32u32 boardobjgrpmask_init(struct boardobjgrpmask *mask, u8 bitsize, 32u32 boardobjgrpmask_init(struct boardobjgrpmask *mask, u8 bitsize,
33 struct ctrl_boardobjgrp_mask *extmask) 33 struct ctrl_boardobjgrp_mask *extmask)
34{ 34{
35 if (mask == NULL) 35 if (mask == NULL) {
36 return -EINVAL; 36 return -EINVAL;
37 }
37 if ((bitsize != CTRL_BOARDOBJGRP_E32_MAX_OBJECTS) && 38 if ((bitsize != CTRL_BOARDOBJGRP_E32_MAX_OBJECTS) &&
38 (bitsize != CTRL_BOARDOBJGRP_E255_MAX_OBJECTS)) 39 (bitsize != CTRL_BOARDOBJGRP_E255_MAX_OBJECTS)) {
39 return -EINVAL; 40 return -EINVAL;
41 }
40 42
41 mask->bitcount = bitsize; 43 mask->bitcount = bitsize;
42 mask->maskdatacount = CTRL_BOARDOBJGRP_MASK_DATA_SIZE(bitsize); 44 mask->maskdatacount = CTRL_BOARDOBJGRP_MASK_DATA_SIZE(bitsize);
@@ -56,12 +58,15 @@ u32 boardobjgrpmask_import(struct boardobjgrpmask *mask, u8 bitsize,
56{ 58{
57 u8 index; 59 u8 index;
58 60
59 if (mask == NULL) 61 if (mask == NULL) {
60 return -EINVAL; 62 return -EINVAL;
61 if (extmask == NULL) 63 }
64 if (extmask == NULL) {
62 return -EINVAL; 65 return -EINVAL;
63 if (mask->bitcount != bitsize) 66 }
67 if (mask->bitcount != bitsize) {
64 return -EINVAL; 68 return -EINVAL;
69 }
65 70
66 for (index = 0; index < mask->maskdatacount; index++) { 71 for (index = 0; index < mask->maskdatacount; index++) {
67 mask->data[index] = extmask->data[index]; 72 mask->data[index] = extmask->data[index];
@@ -77,12 +82,15 @@ u32 boardobjgrpmask_export(struct boardobjgrpmask *mask, u8 bitsize,
77{ 82{
78 u8 index; 83 u8 index;
79 84
80 if (mask == NULL) 85 if (mask == NULL) {
81 return -EINVAL; 86 return -EINVAL;
82 if (extmask == NULL) 87 }
88 if (extmask == NULL) {
83 return -EINVAL; 89 return -EINVAL;
84 if (mask->bitcount != bitsize) 90 }
91 if (mask->bitcount != bitsize) {
85 return -EINVAL; 92 return -EINVAL;
93 }
86 94
87 for (index = 0; index < mask->maskdatacount; index++) { 95 for (index = 0; index < mask->maskdatacount; index++) {
88 extmask->data[index] = mask->data[index]; 96 extmask->data[index] = mask->data[index];
@@ -95,8 +103,9 @@ u32 boardobjgrpmask_clr(struct boardobjgrpmask *mask)
95{ 103{
96 u8 index; 104 u8 index;
97 105
98 if (mask == NULL) 106 if (mask == NULL) {
99 return -EINVAL; 107 return -EINVAL;
108 }
100 for (index = 0; index < mask->maskdatacount; index++) { 109 for (index = 0; index < mask->maskdatacount; index++) {
101 mask->data[index] = 0; 110 mask->data[index] = 0;
102 } 111 }
@@ -108,8 +117,9 @@ u32 boardobjgrpmask_set(struct boardobjgrpmask *mask)
108{ 117{
109 u8 index; 118 u8 index;
110 119
111 if (mask == NULL) 120 if (mask == NULL) {
112 return -EINVAL; 121 return -EINVAL;
122 }
113 for (index = 0; index < mask->maskdatacount; index++) { 123 for (index = 0; index < mask->maskdatacount; index++) {
114 mask->data[index] = 0xFFFFFFFF; 124 mask->data[index] = 0xFFFFFFFF;
115 } 125 }
@@ -121,8 +131,9 @@ u32 boardobjgrpmask_inv(struct boardobjgrpmask *mask)
121{ 131{
122 u8 index; 132 u8 index;
123 133
124 if (mask == NULL) 134 if (mask == NULL) {
125 return -EINVAL; 135 return -EINVAL;
136 }
126 for (index = 0; index < mask->maskdatacount; index++) { 137 for (index = 0; index < mask->maskdatacount; index++) {
127 mask->data[index] = ~mask->data[index]; 138 mask->data[index] = ~mask->data[index];
128 } 139 }
@@ -134,11 +145,13 @@ bool boardobjgrpmask_iszero(struct boardobjgrpmask *mask)
134{ 145{
135 u8 index; 146 u8 index;
136 147
137 if (mask == NULL) 148 if (mask == NULL) {
138 return true; 149 return true;
150 }
139 for (index = 0; index < mask->maskdatacount; index++) { 151 for (index = 0; index < mask->maskdatacount; index++) {
140 if (mask->data[index] != 0) 152 if (mask->data[index] != 0) {
141 return false; 153 return false;
154 }
142 } 155 }
143 return true; 156 return true;
144} 157}
@@ -148,8 +161,9 @@ u8 boardobjgrpmask_bitsetcount(struct boardobjgrpmask *mask)
148 u8 index; 161 u8 index;
149 u8 result = 0; 162 u8 result = 0;
150 163
151 if (mask == NULL) 164 if (mask == NULL) {
152 return result; 165 return result;
166 }
153 167
154 for (index = 0; index < mask->maskdatacount; index++) { 168 for (index = 0; index < mask->maskdatacount; index++) {
155 u32 m = mask->data[index]; 169 u32 m = mask->data[index];
@@ -166,8 +180,9 @@ u8 boardobjgrpmask_bitidxlowest(struct boardobjgrpmask *mask)
166 u8 index; 180 u8 index;
167 u8 result = CTRL_BOARDOBJ_IDX_INVALID; 181 u8 result = CTRL_BOARDOBJ_IDX_INVALID;
168 182
169 if (mask == NULL) 183 if (mask == NULL) {
170 return result; 184 return result;
185 }
171 186
172 for (index = 0; index < mask->maskdatacount; index++) { 187 for (index = 0; index < mask->maskdatacount; index++) {
173 u32 m = mask->data[index]; 188 u32 m = mask->data[index];
@@ -188,8 +203,9 @@ u8 boardobjgrpmask_bitidxhighest(struct boardobjgrpmask *mask)
188 u8 index; 203 u8 index;
189 u8 result = CTRL_BOARDOBJ_IDX_INVALID; 204 u8 result = CTRL_BOARDOBJ_IDX_INVALID;
190 205
191 if (mask == NULL) 206 if (mask == NULL) {
192 return result; 207 return result;
208 }
193 209
194 for (index = 0; index < mask->maskdatacount; index++) { 210 for (index = 0; index < mask->maskdatacount; index++) {
195 u32 m = mask->data[index]; 211 u32 m = mask->data[index];
@@ -210,10 +226,12 @@ u32 boardobjgrpmask_bitclr(struct boardobjgrpmask *mask, u8 bitidx)
210 u8 index; 226 u8 index;
211 u8 offset; 227 u8 offset;
212 228
213 if (mask == NULL) 229 if (mask == NULL) {
214 return -EINVAL; 230 return -EINVAL;
215 if (bitidx >= mask->bitcount) 231 }
232 if (bitidx >= mask->bitcount) {
216 return -EINVAL; 233 return -EINVAL;
234 }
217 235
218 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx); 236 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx);
219 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx); 237 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx);
@@ -228,10 +246,12 @@ u32 boardobjgrpmask_bitset(struct boardobjgrpmask *mask, u8 bitidx)
228 u8 index; 246 u8 index;
229 u8 offset; 247 u8 offset;
230 248
231 if (mask == NULL) 249 if (mask == NULL) {
232 return -EINVAL; 250 return -EINVAL;
233 if (bitidx >= mask->bitcount) 251 }
252 if (bitidx >= mask->bitcount) {
234 return -EINVAL; 253 return -EINVAL;
254 }
235 255
236 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx); 256 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx);
237 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx); 257 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx);
@@ -246,10 +266,12 @@ u32 boardobjgrpmask_bitinv(struct boardobjgrpmask *mask, u8 bitidx)
246 u8 index; 266 u8 index;
247 u8 offset; 267 u8 offset;
248 268
249 if (mask == NULL) 269 if (mask == NULL) {
250 return -EINVAL; 270 return -EINVAL;
251 if (bitidx >= mask->bitcount) 271 }
272 if (bitidx >= mask->bitcount) {
252 return -EINVAL; 273 return -EINVAL;
274 }
253 275
254 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx); 276 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx);
255 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx); 277 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx);
@@ -264,10 +286,12 @@ bool boardobjgrpmask_bitget(struct boardobjgrpmask *mask, u8 bitidx)
264 u8 index; 286 u8 index;
265 u8 offset; 287 u8 offset;
266 288
267 if (mask == NULL) 289 if (mask == NULL) {
268 return false; 290 return false;
269 if (bitidx >= mask->bitcount) 291 }
292 if (bitidx >= mask->bitcount) {
270 return false; 293 return false;
294 }
271 295
272 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx); 296 index = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(bitidx);
273 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx); 297 offset = CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(bitidx);
@@ -281,10 +305,12 @@ u32 boardobjgrpmask_and(struct boardobjgrpmask *dst,
281{ 305{
282 u8 index; 306 u8 index;
283 307
284 if (!boardobjgrpmask_sizeeq(dst, op1)) 308 if (!boardobjgrpmask_sizeeq(dst, op1)) {
285 return -EINVAL; 309 return -EINVAL;
286 if (!boardobjgrpmask_sizeeq(dst, op2)) 310 }
311 if (!boardobjgrpmask_sizeeq(dst, op2)) {
287 return -EINVAL; 312 return -EINVAL;
313 }
288 314
289 for (index = 0; index < dst->maskdatacount; index++) { 315 for (index = 0; index < dst->maskdatacount; index++) {
290 dst->data[index] = op1->data[index] & op2->data[index]; 316 dst->data[index] = op1->data[index] & op2->data[index];
@@ -299,10 +325,12 @@ u32 boardobjgrpmask_or(struct boardobjgrpmask *dst,
299{ 325{
300 u8 index; 326 u8 index;
301 327
302 if (!boardobjgrpmask_sizeeq(dst, op1)) 328 if (!boardobjgrpmask_sizeeq(dst, op1)) {
303 return -EINVAL; 329 return -EINVAL;
304 if (!boardobjgrpmask_sizeeq(dst, op2)) 330 }
331 if (!boardobjgrpmask_sizeeq(dst, op2)) {
305 return -EINVAL; 332 return -EINVAL;
333 }
306 334
307 for (index = 0; index < dst->maskdatacount; index++) { 335 for (index = 0; index < dst->maskdatacount; index++) {
308 dst->data[index] = op1->data[index] | op2->data[index]; 336 dst->data[index] = op1->data[index] | op2->data[index];
@@ -317,10 +345,12 @@ u32 boardobjgrpmask_xor(struct boardobjgrpmask *dst,
317{ 345{
318 u8 index; 346 u8 index;
319 347
320 if (!boardobjgrpmask_sizeeq(dst, op1)) 348 if (!boardobjgrpmask_sizeeq(dst, op1)) {
321 return -EINVAL; 349 return -EINVAL;
322 if (!boardobjgrpmask_sizeeq(dst, op2)) 350 }
351 if (!boardobjgrpmask_sizeeq(dst, op2)) {
323 return -EINVAL; 352 return -EINVAL;
353 }
324 354
325 for (index = 0; index < dst->maskdatacount; index++) { 355 for (index = 0; index < dst->maskdatacount; index++) {
326 dst->data[index] = op1->data[index] ^ op2->data[index]; 356 dst->data[index] = op1->data[index] ^ op2->data[index];
@@ -334,8 +364,9 @@ u32 boardobjgrpmask_copy(struct boardobjgrpmask *dst,
334{ 364{
335 u8 index; 365 u8 index;
336 366
337 if (!boardobjgrpmask_sizeeq(dst, src)) 367 if (!boardobjgrpmask_sizeeq(dst, src)) {
338 return -EINVAL; 368 return -EINVAL;
369 }
339 370
340 for (index = 0; index < dst->maskdatacount; index++) { 371 for (index = 0; index < dst->maskdatacount; index++) {
341 dst->data[index] = src->data[index]; 372 dst->data[index] = src->data[index];
@@ -347,10 +378,12 @@ u32 boardobjgrpmask_copy(struct boardobjgrpmask *dst,
347bool boardobjgrpmask_sizeeq(struct boardobjgrpmask *op1, 378bool boardobjgrpmask_sizeeq(struct boardobjgrpmask *op1,
348 struct boardobjgrpmask *op2) 379 struct boardobjgrpmask *op2)
349{ 380{
350 if (op1 == NULL) 381 if (op1 == NULL) {
351 return false; 382 return false;
352 if (op2 == NULL) 383 }
384 if (op2 == NULL) {
353 return false; 385 return false;
386 }
354 387
355 return op1->bitcount == op2->bitcount; 388 return op1->bitcount == op2->bitcount;
356} 389}
@@ -360,15 +393,17 @@ bool boardobjgrpmask_issubset(struct boardobjgrpmask *op1,
360{ 393{
361 u8 index; 394 u8 index;
362 395
363 if (!boardobjgrpmask_sizeeq(op2, op1)) 396 if (!boardobjgrpmask_sizeeq(op2, op1)) {
364 return false; 397 return false;
398 }
365 399
366 for (index = 0; index < op1->maskdatacount; index++) { 400 for (index = 0; index < op1->maskdatacount; index++) {
367 u32 op_1 = op1->data[index]; 401 u32 op_1 = op1->data[index];
368 u32 op_2 = op2->data[index]; 402 u32 op_2 = op2->data[index];
369 403
370 if ((op_1 & op_2) != op_1) 404 if ((op_1 & op_2) != op_1) {
371 return false; 405 return false;
406 }
372 } 407 }
373 408
374 return true; 409 return true;