Lines Matching refs:groups
70 struct Pl061GpioGroup *groups;
76 .groups = NULL,
436 struct Pl061GpioGroup *groups = NULL;
442 groups = (struct Pl061GpioGroup *)OsalMemCalloc(sizeof(*groups) * pl061->groupNum);
443 if (groups == NULL) {
446 pl061->groups = groups;
449 groups[i].index = i;
450 groups[i].regBase = pl061->regBase + i * pl061->regStep;
451 groups[i].irq = pl061->irqStart + i;
452 groups[i].irqShare = pl061->irqShare;
453 groups[i].cntlr.start = i * pl061->bitNum;
454 groups[i].cntlr.count = pl061->bitNum;
455 groups[i].cntlr.ops = &g_method;
456 groups[i].cntlr.ginfos = &pl061->gpioInfo[i * pl061->bitNum];
458 if ((ret = OsalSpinInit(&groups[i].lock)) != HDF_SUCCESS) {
462 ret = GpioCntlrAdd(&groups[i].cntlr);
465 groups[i].cntlr.start, groups[i].cntlr.count, ret);
466 (void)OsalSpinDestroy(&groups[i].lock);
469 ret = GpioDumperCreate(&pl061->groups[i]);
480 GpioCntlrRemove(&groups[i].cntlr);
481 (void)OsalSpinDestroy(&groups[i].lock);
483 pl061->groups = NULL;
484 OsalMemFree(groups);
494 group = &pl061->groups[i];
495 GpioDumperDestroy(&pl061->groups[i]);
499 OsalMemFree(pl061->groups);
500 pl061->groups = NULL;
595 group = &pl061->groups[i];
646 HDF_LOGE("%s: err init groups:%d", __func__, ret);