| // SPDX-License-Identifier: GPL-2.0-only |
| /* Copyright (C) 2025 Intel Corporation */ |
| |
| #include <linux/module.h> |
| #include <linux/net/intel/libie/adminq.h> |
| |
| static const char * const libie_aq_str_arr[] = { |
| #define LIBIE_AQ_STR(x) \ |
| [LIBIE_AQ_RC_##x] = "LIBIE_AQ_RC" #x |
| LIBIE_AQ_STR(OK), |
| LIBIE_AQ_STR(EPERM), |
| LIBIE_AQ_STR(ENOENT), |
| LIBIE_AQ_STR(ESRCH), |
| LIBIE_AQ_STR(EIO), |
| LIBIE_AQ_STR(EAGAIN), |
| LIBIE_AQ_STR(ENOMEM), |
| LIBIE_AQ_STR(EACCES), |
| LIBIE_AQ_STR(EBUSY), |
| LIBIE_AQ_STR(EEXIST), |
| LIBIE_AQ_STR(EINVAL), |
| LIBIE_AQ_STR(ENOSPC), |
| LIBIE_AQ_STR(ENOSYS), |
| LIBIE_AQ_STR(EMODE), |
| LIBIE_AQ_STR(ENOSEC), |
| LIBIE_AQ_STR(EBADSIG), |
| LIBIE_AQ_STR(ESVN), |
| LIBIE_AQ_STR(EBADMAN), |
| LIBIE_AQ_STR(EBADBUF), |
| #undef LIBIE_AQ_STR |
| "LIBIE_AQ_RC_UNKNOWN", |
| }; |
| |
| #define __LIBIE_AQ_STR_NUM (ARRAY_SIZE(libie_aq_str_arr) - 1) |
| |
| /** |
| * libie_aq_str - get error string based on aq error |
| * @err: admin queue error type |
| * |
| * Return: error string for passed error code |
| */ |
| const char *libie_aq_str(enum libie_aq_err err) |
| { |
| if (err >= ARRAY_SIZE(libie_aq_str_arr) || |
| !libie_aq_str_arr[err]) |
| err = __LIBIE_AQ_STR_NUM; |
| |
| return libie_aq_str_arr[err]; |
| } |
| EXPORT_SYMBOL_NS_GPL(libie_aq_str, "LIBIE_ADMINQ"); |
| |
| MODULE_DESCRIPTION("Intel(R) Ethernet common library - adminq helpers"); |
| MODULE_LICENSE("GPL"); |