haptic: Apply HAL ABI versioning 96/309396/1
authorYunhee Seo <yuni.seo@samsung.com>
Tue, 9 Apr 2024 09:08:24 +0000 (18:08 +0900)
committerYunhee Seo <yuni.seo@samsung.com>
Tue, 9 Apr 2024 09:08:24 +0000 (18:08 +0900)
To support OS upgrade feature, hal-backend and hal-api module needs HAL ABI versioning.
So, major/minor version is added to hal_backend structure.
While applying HAL ABI versioning, hal_backend_[module]_funcs is allocated from hal-api-[module] side.
Thus, allocation is moved to hal-api-device-haptic side.

Change-Id: I829b1d489d5b0cd68af532c091a8272b3484e72d
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
hw/haptic/gpio.c

index 11c53d626c785a1fe0c55542e8b43ba08d307c31..66f39e03fb5bd5432268a08831f6ef500c38a027 100644 (file)
@@ -228,7 +228,7 @@ static int gpio_haptic_vibrate_monotone(int handle, int duration, int frequency,
        }
 
        /* Zero(0) is the infinitely vibration value */
-       if (duration == HAPTIC_MODULE_DURATION_UNLIMITED)
+       if (duration == HAL_DEVICE_HAPTIC_MODULE_DURATION_UNLIMITED)
                duration = 0;
 
        if (stop_timer)
@@ -317,9 +317,14 @@ static int haptic_init(void **data)
 {
     hal_backend_device_haptic_funcs *device_haptic_funcs;
 
-    device_haptic_funcs = calloc(1, sizeof(hal_backend_device_haptic_funcs));
-    if (!device_haptic_funcs)
-        return -ENOMEM;
+       if (!data) {
+               _E("Invalid parameter");
+               return -EINVAL;
+       }
+
+       device_haptic_funcs = *(hal_backend_device_haptic_funcs **) data;
+       if (!device_haptic_funcs)
+               return -EINVAL;
 
     device_haptic_funcs->get_device_count = gpio_haptic_get_device_count;
     device_haptic_funcs->open_device = gpio_haptic_open_device;
@@ -328,8 +333,6 @@ static int haptic_init(void **data)
     device_haptic_funcs->stop_device = gpio_haptic_stop_device;
     device_haptic_funcs->is_valid = is_valid;
 
-    *data = (void *)device_haptic_funcs;
-
     return 0;
 }
 
@@ -349,4 +352,6 @@ hal_backend EXPORT hal_backend_device_haptic_data = {
        .abi_version = HAL_ABI_VERSION_TIZEN_7_0,
        .init = haptic_init,
        .exit = haptic_exit,
+       .major_version = 1,
+       .minor_version = 0,
 };