Branch data Line data Source code
1 : : // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
2 : : /*******************************************************************************
3 : : *
4 : : * Module Name: utxferror - Various error/warning output functions
5 : : *
6 : : ******************************************************************************/
7 : :
8 : : #define EXPORT_ACPI_INTERFACES
9 : :
10 : : #include <acpi/acpi.h>
11 : : #include "accommon.h"
12 : :
13 : : #define _COMPONENT ACPI_UTILITIES
14 : : ACPI_MODULE_NAME("utxferror")
15 : :
16 : : /*
17 : : * This module is used for the in-kernel ACPICA as well as the ACPICA
18 : : * tools/applications.
19 : : */
20 : : #ifndef ACPI_NO_ERROR_MESSAGES /* Entire module */
21 : : /*******************************************************************************
22 : : *
23 : : * FUNCTION: acpi_error
24 : : *
25 : : * PARAMETERS: module_name - Caller's module name (for error output)
26 : : * line_number - Caller's line number (for error output)
27 : : * format - Printf format string + additional args
28 : : *
29 : : * RETURN: None
30 : : *
31 : : * DESCRIPTION: Print "ACPI Error" message with module/line/version info
32 : : *
33 : : ******************************************************************************/
34 : : void ACPI_INTERNAL_VAR_XFACE
35 : 0 : acpi_error(const char *module_name, u32 line_number, const char *format, ...)
36 : : {
37 : 0 : va_list arg_list;
38 : :
39 : 0 : ACPI_MSG_REDIRECT_BEGIN;
40 : 0 : acpi_os_printf(ACPI_MSG_ERROR);
41 : :
42 : 0 : va_start(arg_list, format);
43 : 0 : acpi_os_vprintf(format, arg_list);
44 : 0 : ACPI_MSG_SUFFIX;
45 : 0 : va_end(arg_list);
46 : :
47 : 0 : ACPI_MSG_REDIRECT_END;
48 : 0 : }
49 : :
50 : : ACPI_EXPORT_SYMBOL(acpi_error)
51 : :
52 : : /*******************************************************************************
53 : : *
54 : : * FUNCTION: acpi_exception
55 : : *
56 : : * PARAMETERS: module_name - Caller's module name (for error output)
57 : : * line_number - Caller's line number (for error output)
58 : : * status - Status value to be decoded/formatted
59 : : * format - Printf format string + additional args
60 : : *
61 : : * RETURN: None
62 : : *
63 : : * DESCRIPTION: Print an "ACPI Error" message with module/line/version
64 : : * info as well as decoded acpi_status.
65 : : *
66 : : ******************************************************************************/
67 : : void ACPI_INTERNAL_VAR_XFACE
68 : 0 : acpi_exception(const char *module_name,
69 : : u32 line_number, acpi_status status, const char *format, ...)
70 : : {
71 : 0 : va_list arg_list;
72 : :
73 : 0 : ACPI_MSG_REDIRECT_BEGIN;
74 : :
75 : : /* For AE_OK, just print the message */
76 : :
77 [ # # ]: 0 : if (ACPI_SUCCESS(status)) {
78 : 0 : acpi_os_printf(ACPI_MSG_ERROR);
79 : :
80 : : } else {
81 : 0 : acpi_os_printf(ACPI_MSG_ERROR "%s, ",
82 : : acpi_format_exception(status));
83 : : }
84 : :
85 : 0 : va_start(arg_list, format);
86 : 0 : acpi_os_vprintf(format, arg_list);
87 : 0 : ACPI_MSG_SUFFIX;
88 : 0 : va_end(arg_list);
89 : :
90 : 0 : ACPI_MSG_REDIRECT_END;
91 : 0 : }
92 : :
93 : : ACPI_EXPORT_SYMBOL(acpi_exception)
94 : :
95 : : /*******************************************************************************
96 : : *
97 : : * FUNCTION: acpi_warning
98 : : *
99 : : * PARAMETERS: module_name - Caller's module name (for warning output)
100 : : * line_number - Caller's line number (for warning output)
101 : : * format - Printf format string + additional args
102 : : *
103 : : * RETURN: None
104 : : *
105 : : * DESCRIPTION: Print "ACPI Warning" message with module/line/version info
106 : : *
107 : : ******************************************************************************/
108 : : void ACPI_INTERNAL_VAR_XFACE
109 : 0 : acpi_warning(const char *module_name, u32 line_number, const char *format, ...)
110 : : {
111 : 0 : va_list arg_list;
112 : :
113 : 0 : ACPI_MSG_REDIRECT_BEGIN;
114 : 0 : acpi_os_printf(ACPI_MSG_WARNING);
115 : :
116 : 0 : va_start(arg_list, format);
117 : 0 : acpi_os_vprintf(format, arg_list);
118 : 0 : ACPI_MSG_SUFFIX;
119 : 0 : va_end(arg_list);
120 : :
121 : 0 : ACPI_MSG_REDIRECT_END;
122 : 0 : }
123 : :
124 : : ACPI_EXPORT_SYMBOL(acpi_warning)
125 : :
126 : : /*******************************************************************************
127 : : *
128 : : * FUNCTION: acpi_info
129 : : *
130 : : * PARAMETERS: format - Printf format string + additional args
131 : : *
132 : : * RETURN: None
133 : : *
134 : : * DESCRIPTION: Print generic "ACPI:" information message. There is no
135 : : * module/line/version info in order to keep the message simple.
136 : : *
137 : : ******************************************************************************/
138 : 252 : void ACPI_INTERNAL_VAR_XFACE acpi_info(const char *format, ...)
139 : : {
140 : 252 : va_list arg_list;
141 : :
142 : 252 : ACPI_MSG_REDIRECT_BEGIN;
143 : 252 : acpi_os_printf(ACPI_MSG_INFO);
144 : :
145 : 252 : va_start(arg_list, format);
146 : 252 : acpi_os_vprintf(format, arg_list);
147 : 252 : acpi_os_printf("\n");
148 : 252 : va_end(arg_list);
149 : :
150 : 252 : ACPI_MSG_REDIRECT_END;
151 : 252 : }
152 : :
153 : : ACPI_EXPORT_SYMBOL(acpi_info)
154 : :
155 : : /*******************************************************************************
156 : : *
157 : : * FUNCTION: acpi_bios_error
158 : : *
159 : : * PARAMETERS: module_name - Caller's module name (for error output)
160 : : * line_number - Caller's line number (for error output)
161 : : * format - Printf format string + additional args
162 : : *
163 : : * RETURN: None
164 : : *
165 : : * DESCRIPTION: Print "ACPI Firmware Error" message with module/line/version
166 : : * info
167 : : *
168 : : ******************************************************************************/
169 : : void ACPI_INTERNAL_VAR_XFACE
170 : 0 : acpi_bios_error(const char *module_name,
171 : : u32 line_number, const char *format, ...)
172 : : {
173 : 0 : va_list arg_list;
174 : :
175 : 0 : ACPI_MSG_REDIRECT_BEGIN;
176 : 0 : acpi_os_printf(ACPI_MSG_BIOS_ERROR);
177 : :
178 : 0 : va_start(arg_list, format);
179 : 0 : acpi_os_vprintf(format, arg_list);
180 : 0 : ACPI_MSG_SUFFIX;
181 : 0 : va_end(arg_list);
182 : :
183 : 0 : ACPI_MSG_REDIRECT_END;
184 : 0 : }
185 : :
186 : : ACPI_EXPORT_SYMBOL(acpi_bios_error)
187 : :
188 : : /*******************************************************************************
189 : : *
190 : : * FUNCTION: acpi_bios_exception
191 : : *
192 : : * PARAMETERS: module_name - Caller's module name (for error output)
193 : : * line_number - Caller's line number (for error output)
194 : : * status - Status value to be decoded/formatted
195 : : * format - Printf format string + additional args
196 : : *
197 : : * RETURN: None
198 : : *
199 : : * DESCRIPTION: Print an "ACPI Firmware Error" message with module/line/version
200 : : * info as well as decoded acpi_status.
201 : : *
202 : : ******************************************************************************/
203 : : void ACPI_INTERNAL_VAR_XFACE
204 : 0 : acpi_bios_exception(const char *module_name,
205 : : u32 line_number,
206 : : acpi_status status, const char *format, ...)
207 : : {
208 : 0 : va_list arg_list;
209 : :
210 : 0 : ACPI_MSG_REDIRECT_BEGIN;
211 : :
212 : : /* For AE_OK, just print the message */
213 : :
214 [ # # ]: 0 : if (ACPI_SUCCESS(status)) {
215 : 0 : acpi_os_printf(ACPI_MSG_BIOS_ERROR);
216 : :
217 : : } else {
218 : 0 : acpi_os_printf(ACPI_MSG_BIOS_ERROR "%s, ",
219 : : acpi_format_exception(status));
220 : : }
221 : :
222 : 0 : va_start(arg_list, format);
223 : 0 : acpi_os_vprintf(format, arg_list);
224 : 0 : ACPI_MSG_SUFFIX;
225 : 0 : va_end(arg_list);
226 : :
227 : 0 : ACPI_MSG_REDIRECT_END;
228 : 0 : }
229 : :
230 : : ACPI_EXPORT_SYMBOL(acpi_bios_exception)
231 : :
232 : : /*******************************************************************************
233 : : *
234 : : * FUNCTION: acpi_bios_warning
235 : : *
236 : : * PARAMETERS: module_name - Caller's module name (for warning output)
237 : : * line_number - Caller's line number (for warning output)
238 : : * format - Printf format string + additional args
239 : : *
240 : : * RETURN: None
241 : : *
242 : : * DESCRIPTION: Print "ACPI Firmware Warning" message with module/line/version
243 : : * info
244 : : *
245 : : ******************************************************************************/
246 : : void ACPI_INTERNAL_VAR_XFACE
247 : 0 : acpi_bios_warning(const char *module_name,
248 : : u32 line_number, const char *format, ...)
249 : : {
250 : 0 : va_list arg_list;
251 : :
252 : 0 : ACPI_MSG_REDIRECT_BEGIN;
253 : 0 : acpi_os_printf(ACPI_MSG_BIOS_WARNING);
254 : :
255 : 0 : va_start(arg_list, format);
256 : 0 : acpi_os_vprintf(format, arg_list);
257 : 0 : ACPI_MSG_SUFFIX;
258 : 0 : va_end(arg_list);
259 : :
260 : 0 : ACPI_MSG_REDIRECT_END;
261 : 0 : }
262 : :
263 : : ACPI_EXPORT_SYMBOL(acpi_bios_warning)
264 : : #endif /* ACPI_NO_ERROR_MESSAGES */
|