// SPDX-License-Identifier: GPL-2.0-only /* Copyright(c) 2023 Intel Corporation */ #include #include #include #include "adf_cfg.h" #include "adf_cfg_services.h" #include "adf_cfg_strings.h" const char *const adf_cfg_services[] = { [SVC_CY] = ADF_CFG_CY, [SVC_CY2] = ADF_CFG_ASYM_SYM, [SVC_DC] = ADF_CFG_DC, [SVC_DCC] = ADF_CFG_DCC, [SVC_SYM] = ADF_CFG_SYM, [SVC_ASYM] = ADF_CFG_ASYM, [SVC_DC_ASYM] = ADF_CFG_DC_ASYM, [SVC_ASYM_DC] = ADF_CFG_ASYM_DC, [SVC_DC_SYM] = ADF_CFG_DC_SYM, [SVC_SYM_DC] = ADF_CFG_SYM_DC, }; EXPORT_SYMBOL_GPL(adf_cfg_services); int adf_get_service_enabled(struct adf_accel_dev *accel_dev) { char services[ADF_CFG_MAX_VAL_LEN_IN_BYTES] = {0}; int ret; ret = adf_cfg_get_param_value(accel_dev, ADF_GENERAL_SEC, ADF_SERVICES_ENABLED, services); if (ret) { dev_err(&GET_DEV(accel_dev), ADF_SERVICES_ENABLED " param not found\n"); return ret; } ret = match_string(adf_cfg_services, ARRAY_SIZE(adf_cfg_services), services); if (ret < 0) dev_err(&GET_DEV(accel_dev), "Invalid value of " ADF_SERVICES_ENABLED " param: %s\n", services); return ret; } EXPORT_SYMBOL_GPL(adf_get_service_enabled);