brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 2680522 Raw
48 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/* Copyright(c) 2023 Intel Corporation */3 4#include <linux/export.h>5#include <linux/pci.h>6#include <linux/string.h>7#include "adf_cfg.h"8#include "adf_cfg_services.h"9#include "adf_cfg_strings.h"10 11const char *const adf_cfg_services[] = {12	[SVC_CY] = ADF_CFG_CY,13	[SVC_CY2] = ADF_CFG_ASYM_SYM,14	[SVC_DC] = ADF_CFG_DC,15	[SVC_DCC] = ADF_CFG_DCC,16	[SVC_SYM] = ADF_CFG_SYM,17	[SVC_ASYM] = ADF_CFG_ASYM,18	[SVC_DC_ASYM] = ADF_CFG_DC_ASYM,19	[SVC_ASYM_DC] = ADF_CFG_ASYM_DC,20	[SVC_DC_SYM] = ADF_CFG_DC_SYM,21	[SVC_SYM_DC] = ADF_CFG_SYM_DC,22};23EXPORT_SYMBOL_GPL(adf_cfg_services);24 25int adf_get_service_enabled(struct adf_accel_dev *accel_dev)26{27	char services[ADF_CFG_MAX_VAL_LEN_IN_BYTES] = {0};28	int ret;29 30	ret = adf_cfg_get_param_value(accel_dev, ADF_GENERAL_SEC,31				      ADF_SERVICES_ENABLED, services);32	if (ret) {33		dev_err(&GET_DEV(accel_dev),34			ADF_SERVICES_ENABLED " param not found\n");35		return ret;36	}37 38	ret = match_string(adf_cfg_services, ARRAY_SIZE(adf_cfg_services),39			   services);40	if (ret < 0)41		dev_err(&GET_DEV(accel_dev),42			"Invalid value of " ADF_SERVICES_ENABLED " param: %s\n",43			services);44 45	return ret;46}47EXPORT_SYMBOL_GPL(adf_get_service_enabled);48