diff options
author | Chanwoo Choi <cw00.choi@samsung.com> | 2024-07-19 16:48:45 +0900 |
---|---|---|
committer | Chanwoo Choi <cw00.choi@samsung.com> | 2024-07-19 09:26:25 +0000 |
commit | 16ce103930c58469a8e3aa8bd162647b467b2c3a (patch) | |
tree | ddcaa01cb20fd20f6aed656edc6d7f960429106c | |
parent | eda648cc9d2c4beb0708169ce06ce3ee22fb5612 (diff) | |
download | power-generic-16ce103930c58469a8e3aa8bd162647b467b2c3a.tar.gz power-generic-16ce103930c58469a8e3aa8bd162647b467b2c3a.tar.bz2 power-generic-16ce103930c58469a8e3aa8bd162647b467b2c3a.zip |
Use hal-rootstrap package for build and change hal_backend_power_funcs memory allocation/freetizen_9.0_m2_releaseaccepted/tizen/unified/x/asan/20240813.231810accepted/tizen/unified/x/20240723.043611accepted/tizen/unified/toolchain/20240812.133330accepted/tizen/unified/dev/20240724.110132accepted/tizen/unified/20240722.104257accepted/tizen/9.0/unified/20241031.000017tizen_9.0accepted/tizen_unified_x_asanaccepted/tizen_unified_xaccepted/tizen_unified_toolchainaccepted/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: Ib4d03086837a167b06a207d4d25d474a7916fac5
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | packaging/hal-backend-power-generic.spec | 3 | ||||
-rw-r--r-- | src/hal-backend-power.c | 95 |
3 files changed, 14 insertions, 87 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9563d5f..926d418 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-generic.spec b/packaging/hal-backend-power-generic.spec index 8dba3cf..146c8a9 100644 --- a/packaging/hal-backend-power-generic.spec +++ b/packaging/hal-backend-power-generic.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 b25ad6f..18ec8db 100644 --- a/src/hal-backend-power.c +++ b/src/hal-backend-power.c @@ -542,100 +542,29 @@ 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; - 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; - } - - /* Initialize each h/w resource */ - cpu->dvfs = cpufreq_dvfs_ops; - cpu->hotplug = cpu_hotplus_ops; - cpu->tmu = tmu_ops; - - bus->dvfs = devfreq_dvfs_ops; - bus->tmu = tmu_ops; + if (!data) + return -EINVAL; + power_funcs = *(hal_backend_power_funcs **)data; - gpu->dvfs = devfreq_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; - memory->get_fault_around_bytes = memory_get_fault_around_bytes; - memory->set_fault_around_bytes = memory_set_fault_around_bytes; + power_funcs->bus->dvfs = devfreq_dvfs_ops; + power_funcs->bus->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->gpu->dvfs = devfreq_dvfs_ops; + power_funcs->gpu->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_gpu: - if (gpu) - free(gpu); -err_bus: - if (bus) - free(bus); -err_cpu: - if (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; - - 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); - return 0; } |