board: Apply HAL ABI versioning 23/309323/2
authorYunhee Seo <yuni.seo@samsung.com>
Mon, 8 Apr 2024 12:59:58 +0000 (21:59 +0900)
committerYunhee Seo <yuni.seo@samsung.com>
Tue, 9 Apr 2024 06:32:28 +0000 (15:32 +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-board side.

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

index 32c7b383c06aa6a425e60e0a02f331bd9c337e3c..92d5993116c8ddc8b31fd7d4260c29948b1181aa 100644 (file)
@@ -279,9 +279,14 @@ static int board_init(void **data)
 {
        hal_backend_device_board_funcs *device_board_funcs;
 
-       device_board_funcs = calloc(1, sizeof(hal_backend_device_board_funcs));
+       if (!data) {
+               _E("Invalid parameter");
+               return -EINVAL;
+       }
+
+       device_board_funcs = *(hal_backend_device_board_funcs **) data;
        if (!device_board_funcs)
-               return -ENOMEM;
+               return -EINVAL;
 
        device_board_funcs->get_device_serial_number  = get_device_serial_number;
 
@@ -299,8 +304,6 @@ static int board_init(void **data)
        device_board_funcs->set_upgrade_status        = set_upgrade_status;
        device_board_funcs->get_upgrade_status        = get_upgrade_status;
 
-       *data = (void *)device_board_funcs;
-
        return 0;
 }
 
@@ -319,4 +322,6 @@ hal_backend EXPORT hal_backend_device_board_data = {
        .abi_version = HAL_ABI_VERSION_TIZEN_7_0,
        .init = board_init,
        .exit = board_exit,
+       .major_version = 1,
+       .minor_version = 0,
 };