From: Chanwoo Choi Date: Fri, 19 Jul 2024 06:45:29 +0000 (+0900) Subject: halapi: power: Allocate the missing pass_resource struct X-Git-Tag: accepted/tizen/unified/20240722.104251^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_unified_toolchain;p=platform%2Fhal%2Fapi%2Fpower.git halapi: power: Allocate the missing pass_resource struct Change-Id: Ia1e6094debaec4851b7a4fbb4375bd138c040ed4 Signed-off-by: Chanwoo Choi --- diff --git a/src/hal-api-power.c b/src/hal-api-power.c index f75f08a..11b207c 100644 --- a/src/hal-api-power.c +++ b/src/hal-api-power.c @@ -203,18 +203,50 @@ static int init_backend(void **data, void *user_data) goto err_funcs; } + power_funcs->bus = calloc(1, sizeof(struct pass_resource_bus)); + if (!power_funcs->bus) { + ret = -ENOMEM; + goto err_cpu; + } + + power_funcs->gpu = calloc(1, sizeof(struct pass_resource_gpu)); + if (!power_funcs->gpu) { + ret = -ENOMEM; + goto err_bus; + } + power_funcs->memory = calloc(1, sizeof(struct pass_resource_memory)); if (!power_funcs->memory) { ret = -ENOMEM; - goto err_cpu; + goto err_gpu; + } + + power_funcs->battery = calloc(1, sizeof(struct pass_resource_battery)); + if (!power_funcs->battery) { + ret = -ENOMEM; + goto err_memory; + } + + power_funcs->nonstandard = calloc(1, sizeof(struct pass_resource_nonstandard)); + if (!power_funcs->nonstandard) { + ret = -ENOMEM; + goto err_battery; } *data = (void *)power_funcs; return 0; + +err_battery: + free(power_funcs->battery); +err_memory: + free(power_funcs->memory); +err_gpu: + free(power_funcs->gpu); +err_bus: + free(power_funcs->bus); err_cpu: - if (power_funcs->cpu) - free(power_funcs->cpu); + free(power_funcs->cpu); err_funcs: free(power_funcs); @@ -230,10 +262,12 @@ static int exit_backend(void *data, void *user_data) funcs = (hal_backend_power_funcs *)data; - if (funcs->cpu) - free(funcs->cpu); - if (funcs->memory) - free(funcs->memory); + free(funcs->cpu); + free(funcs->bus); + free(funcs->gpu); + free(funcs->memory); + free(funcs->battery); + free(funcs->nonstandard); free(funcs);