From 964d4c8d2a536df226f072641bd5d2206d05447f Mon Sep 17 00:00:00 2001 From: SangYoun Kwak Date: Wed, 3 Jul 2024 16:35:20 +0900 Subject: [PATCH] Modify to use hal_backend_sensor_funcs allocated from caller With HAL ABI versioning, the hal_backend_sensor_funcs, which is a container of sensor backend functions is allocated from hal-api-sensor. Thus, it is modified to use hal_backend_sensor_funcs allocated from the caller(hal-api-sensor). Change-Id: I6ad5c106f6848d8a2064ede8d90bfb5eb11e4adf Signed-off-by: SangYoun Kwak --- src/hal-backend-sensor.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/hal-backend-sensor.cpp b/src/hal-backend-sensor.cpp index a522172..2a721a2 100644 --- a/src/hal-backend-sensor.cpp +++ b/src/hal-backend-sensor.cpp @@ -66,23 +66,25 @@ static int sensor_emulator_create(sensor_device_t **devices) { static int sensor_emulator_init(void **data) { _I("init hal backend sensor"); - hal_backend_sensor_funcs *funcs; + hal_backend_sensor_funcs *funcs = NULL; - funcs = - (hal_backend_sensor_funcs *)calloc(1, sizeof(hal_backend_sensor_funcs)); - if (!funcs) return -ENOMEM; + if (!data) { + _E("Invalid parameter"); + return -EINVAL; + } - funcs->create = sensor_emulator_create; + funcs = *((hal_backend_sensor_funcs **)data); + if (!funcs) { + _E("Invalid parameter"); + return -EINVAL; + } - *data = (void *)funcs; + funcs->create = sensor_emulator_create; return 0; } static int sensor_emulator_exit(void *data) { - if (!data) return -EINVAL; - free(data); - return 0; } -- 2.34.1