diff options
author | Chanwoo Choi <cw00.choi@samsung.com> | 2024-07-19 15:50:36 +0900 |
---|---|---|
committer | Chanwoo Choi <cw00.choi@samsung.com> | 2024-07-19 16:44:47 +0900 |
commit | 83bd1c308ba220483ab9aed0bbbc24bb995f1c55 (patch) | |
tree | 2e887f725a82a0378ab245205e62264963b33198 | |
parent | dc44177458ec591b55e2997ac8d1d24bbf067e18 (diff) | |
download | power-emulator-accepted/tizen_unified.tar.gz power-emulator-accepted/tizen_unified.tar.bz2 power-emulator-accepted/tizen_unified.zip |
Use hal-rootstrap package for build and change hal_backend_power_funcs memory allocation/freetizen_9.0_m2_releaseaccepted/tizen/unified/dev/20240724.110129accepted/tizen/unified/20240722.104300accepted/tizen/9.0/unified/20241030.232815tizen_9.0tizenaccepted/tizen_unified_devaccepted/tizen_unifiedaccepted/tizen_9.0_unified
hal-roostrap package contains the allowed and maintained files
to build hal-backend package. In order to keep ABI (Application Binary
Interface) compatibility between platfrom and hal image,
must use only hal-rootstrap pacakge for build.
And chagnge the memory allocation/free way of hal_backend_power_funcs
in order to support new 1-platform Multi-HAL Interface approach.
Change-Id: I15707fae89d53a5702be1bfe34e9779325319253
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | packaging/hal-backend-power-emulator.spec | 3 | ||||
-rw-r--r-- | src/hal-backend-power.c | 100 |
3 files changed, 15 insertions, 91 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5edccaa..696bb71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,7 @@ SET(HAL_LICENSEDIR ${CMAKE_HAL_LICENSEDIR_PREFIX}) INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED - hal-api-common - hal-api-power + hal-rootstrap ) FOREACH(flag ${pkgs_CFLAGS}) diff --git a/packaging/hal-backend-power-emulator.spec b/packaging/hal-backend-power-emulator.spec index 47ae21c..09f0b17 100644 --- a/packaging/hal-backend-power-emulator.spec +++ b/packaging/hal-backend-power-emulator.spec @@ -16,8 +16,7 @@ Requires(post): security-config Requires(postun): /sbin/ldconfig Requires(postun): /bin/systemctl BuildRequires: cmake -BuildRequires: pkgconfig(hal-api-common) -BuildRequires: pkgconfig(hal-api-power) +BuildRequires: pkgconfig(hal-rootstrap) %description PASS standard hal diff --git a/src/hal-backend-power.c b/src/hal-backend-power.c index ae12b60..24f79be 100644 --- a/src/hal-backend-power.c +++ b/src/hal-backend-power.c @@ -472,106 +472,32 @@ static int memory_set_fault_around_bytes(char *res_name, static int power_init(void **data) { hal_backend_power_funcs *power_funcs = NULL; - struct pass_resource_cpu *cpu = NULL; - 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 */ - power_funcs = calloc(1, sizeof(hal_backend_power_funcs)); - if (!power_funcs) - return -ENOMEM; - - cpu = calloc(1, sizeof(struct pass_resource_cpu)); - if (!cpu) { - ret = -ENOMEM; - goto err_funcs; - } - - bus = calloc(1, sizeof(struct pass_resource_bus)); - if (!bus) { - ret = -ENOMEM; - goto err_cpu; - } - - gpu = calloc(1, sizeof(struct pass_resource_gpu)); - if (!gpu) { - ret = -ENOMEM; - goto err_bus; - } - - memory = calloc(1, sizeof(struct pass_resource_memory)); - if (!memory) { - ret = -ENOMEM; - 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; - cpu->tmu = tmu_ops; + if (!data) + return -EINVAL; - bus->dvfs = bus_dvfs_ops; - bus->tmu = tmu_ops; + power_funcs = *(hal_backend_power_funcs **)data; - gpu->dvfs = gpu_dvfs_ops; - gpu->tmu = tmu_ops; + power_funcs->cpu->dvfs = cpufreq_dvfs_ops; + power_funcs->cpu->hotplug = cpu_hotplus_ops; + power_funcs->cpu->tmu = tmu_ops; - battery->tmu = tmu_ops; + power_funcs->bus->dvfs = bus_dvfs_ops; + power_funcs->bus->tmu = tmu_ops; - memory->get_fault_around_bytes = memory_get_fault_around_bytes; - memory->set_fault_around_bytes = memory_set_fault_around_bytes; + power_funcs->gpu->dvfs = gpu_dvfs_ops; + power_funcs->gpu->tmu = tmu_ops; - /* Initialize hal_backend_power_funcs */ - power_funcs->cpu = cpu; - power_funcs->bus = bus; - power_funcs->gpu = gpu; - power_funcs->memory = memory; - power_funcs->battery = battery; + power_funcs->battery->tmu = tmu_ops; - *data = (void *)power_funcs; + power_funcs->memory->get_fault_around_bytes = memory_get_fault_around_bytes; + power_funcs->memory->set_fault_around_bytes = memory_set_fault_around_bytes; return 0; - -err_memory: - free(memory); -err_gpu: - free(gpu); -err_bus: - free(bus); -err_cpu: - free(cpu); -err_funcs: - free(power_funcs); - - return ret; } static int power_exit(void *data) { - hal_backend_power_funcs *funcs; - - if (!data) - return -EINVAL; - - funcs = (hal_backend_power_funcs *)data; - - free(funcs->cpu); - free(funcs->bus); - free(funcs->gpu); - free(funcs->memory); - free(funcs->battery); - - free(funcs); - return 0; } |