[HALACR-50] Add new HAL_MODULE_HDCP module 60/324960/2 accepted/tizen/unified/20250610.081815 accepted/tizen/unified/x/20250610.082541
authorHaesu Gwon <haesu.gwon@samsung.com>
Thu, 29 May 2025 08:35:39 +0000 (17:35 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Thu, 29 May 2025 08:42:50 +0000 (17:42 +0900)
[Role of HAL_MODULE_HDCP]
HDCP(High-bandwidth Digital Content Protection) requires hardware support to achieve high security level and it's implemented by vendor or product team.
HDCP HAL APIs provide an common interface to access such security hardware and its related software assets.

[Details description of newly added HAL_MODULE_HDCP module]
- group                 = HAL_GROUP_MULTIMEDIA,
- module                = HAL_MODULE_HDCP,
- license               = HAL_LICENSE_APACHE_2_0,
- gbm_group             = HAL_GBM_GROUP_PUBLIC,
- module_name           = "HAL_MODULE_HDCP",
- backend_module_name   = "hdcp",
- library_name          = "/hal/lib/libhal-backend-hdcp.so",
- library_name_64bit    = "/hal/lib64/libhal-backend-hdcp.so",
- symbol_name           = "hal_backend_hdcp_data",
- manifest              = "/etc/hal/hal-api-hdcp-manifest.xml",
- hal_api               = true,

Change-Id: I1dd95a8873893689b282bf36d6ee5cca2f675d62

include/hal-common.h
src/hal-api-list.h
tests/unittest/test-hal-api-common-manifest/hal-api-hdcp-manifest.xml [new file with mode: 0644]
tests/unittest/test-hal-api-common.cc

index e8eafeb82e656e7bea80d9c437a314f5b44843d5..405d225cf35f3cdc6848c9d7206a379e27d238cf 100644 (file)
@@ -106,6 +106,9 @@ enum hal_module {
        /* HAL_GROUP_SECURITY */
        HAL_MODULE_SECURITY_KEYS,
 
+       /* HAL_GROUP_MULTIMEDIA */
+       HAL_MODULE_HDCP,
+
        HAL_MODULE_END,
 };
 
index a631e2cc2bd532897a3aaa9442a4a2c0c79ac028..ab13410e0d4a27c63b7044f84acf200afda7633d 100644 (file)
@@ -732,6 +732,24 @@ static struct __hal_module_info g_hal_module_info[] = {
                .backend_service_library_name_64bit     = "/usr/lib64/hal/libhal-backend-service-security-keys.so",
                .backend_service_symbol_name            = "hal_backend_service_security_keys_data",
        },
+
+       /* HAL_GROUP_MULTIMEDIA */
+       [HAL_MODULE_HDCP] = {
+               .group          = HAL_GROUP_MULTIMEDIA,
+               .module         = HAL_MODULE_HDCP,
+               .license        = HAL_LICENSE_APACHE_2_0,
+               .gbm_group      = HAL_GBM_GROUP_PUBLIC,
+               .module_name        = "HAL_MODULE_HDCP",
+               .backend_module_name    = "hdcp",
+               .library_name       = "/hal/lib/libhal-backend-hdcp.so",
+               .library_name_64bit = "/hal/lib64/libhal-backend-hdcp.so",
+               .symbol_name        = "hal_backend_hdcp_data",
+               .manifest       = "/etc/hal/hal-api-hdcp-manifest.xml",
+               .hal_api        = true,
+               .backend_service_library_name       = "/usr/lib/hal/libhal-backend-service-hdcp.so",
+               .backend_service_library_name_64bit = "/usr/lib64/hal/libhal-backend-service-hdcp.so",
+               .backend_service_symbol_name        = "hal_backend_service_hdcp_data",
+       },
 };
 
 #endif /* __HAL_API_LIST_H__ */
\ No newline at end of file
diff --git a/tests/unittest/test-hal-api-common-manifest/hal-api-hdcp-manifest.xml b/tests/unittest/test-hal-api-common-manifest/hal-api-hdcp-manifest.xml
new file mode 100644 (file)
index 0000000..728f9fd
--- /dev/null
@@ -0,0 +1,8 @@
+<hal-api>
+       <manifest platform-version="10.0">
+               <hal-module>
+                       <name>HAL_MODULE_HDCP</name>
+                       <version>1.0</version>
+               </hal-module>
+       </manifest>
+</hal-api>
index 52412a3d22379d9a14d53897579b114cd1374d31..bd053e8cb966cee187e2623ef369ab9b5d176832 100644 (file)
@@ -224,6 +224,16 @@ INSTANTIATE_TEST_CASE_P(HalApiCommonTest,
                "hal_backend_drm_data"
        ),
 
+       HalInfo(HAL_MODULE_HDCP,
+               HAL_GROUP_MULTIMEDIA,
+               HAL_LICENSE_APACHE_2_0,
+               "HAL_MODULE_HDCP",
+               "hdcp",
+               "/hal/lib/libhal-backend-hdcp.so",
+               "/hal/lib64/libhal-backend-hdcp.so",
+               "hal_backend_hdcp_data"
+       ),
+
        HalInfo(HAL_MODULE_BLUETOOTH,
                HAL_GROUP_CONNECTIVITY,
                HAL_LICENSE_APACHE_2_0,