halapi: power: Allocate the missing pass_resource struct 99/314799/1 accepted/tizen_unified_dev accepted/tizen_unified_toolchain accepted/tizen/9.0/unified/20241031.000009 accepted/tizen/unified/20240722.104251 accepted/tizen/unified/dev/20240724.110127 accepted/tizen/unified/toolchain/20240812.133556 accepted/tizen/unified/x/20240723.043619 accepted/tizen/unified/x/asan/20240813.232047 tizen_9.0_m2_release
authorChanwoo Choi <cw00.choi@samsung.com>
Fri, 19 Jul 2024 06:45:29 +0000 (15:45 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Fri, 19 Jul 2024 06:45:29 +0000 (15:45 +0900)
Change-Id: Ia1e6094debaec4851b7a4fbb4375bd138c040ed4
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
src/hal-api-power.c

index f75f08a0cfbb89fe15fa632c99ae2fe23a8b40a0..11b207cb7b1185fe0137a51e32d8c9139f98455e 100644 (file)
@@ -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);