power-emulator: Add battery hal information 63/279263/2 accepted/tizen/unified/20220805.131739 submit/tizen/20220805.011213
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 4 Aug 2022 19:47:39 +0000 (04:47 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Fri, 5 Aug 2022 00:28:51 +0000 (09:28 +0900)
Change-Id: If31c5d2254adcd4800e72ea404e5ec00b410fdd6
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
scripts/pass.json
src/hal-backend-power.c

index 6178d544cfe43a477975877b5a8e40bc30d3af38..557f2867dd29bb3fa082af80e81cf8ea11feef9b 100644 (file)
                        "device_type"           : "disk",
                        "device_name"           : "vda",
                        "device_config_path"    : "/hal/etc/pass/pass-dummy.json"
+               }, {
+                       "device_type"           : "battery",
+                       "device_name"           : "battery",
+                       "device_config_path"    : "/hal/etc/pass/pass-dummy.json"
                }
        ]
 }
index 2a9bd7fde6dcd72cc297ee7f46bb0684a6d3ebe4..ce7606f98f97ace25502277fdeabd3aa3f3f4bf6 100644 (file)
@@ -470,6 +470,7 @@ static int power_init(void **data)
        struct pass_resource_bus *bus = NULL;
        struct pass_resource_gpu *gpu = NULL;
        struct pass_resource_memory *memory = NULL;
+       struct pass_resource_battery *battery = NULL;
        int ret;
 
        /* Allocate memory */
@@ -501,6 +502,12 @@ static int power_init(void **data)
                goto err_gpu;
        }
 
+       battery = calloc(1, sizeof(struct pass_resource_battery));
+       if (!battery) {
+               ret = -ENOMEM;
+               goto err_memory;
+       }
+
        /* Initialize each h/w resource */
        cpu->dvfs = cpufreq_dvfs_ops;
        cpu->hotplug = cpu_hotplus_ops;
@@ -512,6 +519,8 @@ static int power_init(void **data)
        gpu->dvfs = gpu_dvfs_ops;
        gpu->tmu = tmu_ops;
 
+       battery->tmu = tmu_ops;
+
        memory->get_fault_around_bytes = memory_get_fault_around_bytes;
        memory->set_fault_around_bytes = memory_set_fault_around_bytes;
 
@@ -520,20 +529,20 @@ static int power_init(void **data)
        power_funcs->bus = bus;
        power_funcs->gpu = gpu;
        power_funcs->memory = memory;
+       power_funcs->battery = battery;
 
        *data = (void *)power_funcs;
 
        return 0;
 
+err_memory:
+       free(memory);
 err_gpu:
-       if (gpu)
-               free(gpu);
+       free(gpu);
 err_bus:
-       if (bus)
-               free(bus);
+       free(bus);
 err_cpu:
-       if (cpu)
-               free(cpu);
+       free(cpu);
 err_funcs:
        free(power_funcs);
 
@@ -549,14 +558,11 @@ static int power_exit(void *data)
 
        funcs = (hal_backend_power_funcs *)data;
 
-       if (funcs->cpu)
-               free(funcs->cpu);
-       if (funcs->bus)
-               free(funcs->bus);
-       if (funcs->gpu)
-               free(funcs->gpu);
-       if (funcs->memory)
-               free(funcs->memory);
+       free(funcs->cpu);
+       free(funcs->bus);
+       free(funcs->gpu);
+       free(funcs->memory);
+       free(funcs->battery);
 
        free(funcs);