ACPICA: Convert more ACPI errors to firmware errors
[linux-2.6-microblaze.git] / drivers / acpi / acpica / utxferror.c
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 acpi_error(const char *module_name, u32 line_number, const char *format, ...)
36 {
37         va_list arg_list;
38
39         ACPI_MSG_REDIRECT_BEGIN;
40         acpi_os_printf(ACPI_MSG_ERROR);
41
42         va_start(arg_list, format);
43         acpi_os_vprintf(format, arg_list);
44         ACPI_MSG_SUFFIX;
45         va_end(arg_list);
46
47         ACPI_MSG_REDIRECT_END;
48 }
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 acpi_exception(const char *module_name,
69                u32 line_number, acpi_status status, const char *format, ...)
70 {
71         va_list arg_list;
72
73         ACPI_MSG_REDIRECT_BEGIN;
74
75         /* For AE_OK, just print the message */
76
77         if (ACPI_SUCCESS(status)) {
78                 acpi_os_printf(ACPI_MSG_ERROR);
79
80         } else {
81                 acpi_os_printf(ACPI_MSG_ERROR "%s, ",
82                                acpi_format_exception(status));
83         }
84
85         va_start(arg_list, format);
86         acpi_os_vprintf(format, arg_list);
87         ACPI_MSG_SUFFIX;
88         va_end(arg_list);
89
90         ACPI_MSG_REDIRECT_END;
91 }
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 acpi_warning(const char *module_name, u32 line_number, const char *format, ...)
110 {
111         va_list arg_list;
112
113         ACPI_MSG_REDIRECT_BEGIN;
114         acpi_os_printf(ACPI_MSG_WARNING);
115
116         va_start(arg_list, format);
117         acpi_os_vprintf(format, arg_list);
118         ACPI_MSG_SUFFIX;
119         va_end(arg_list);
120
121         ACPI_MSG_REDIRECT_END;
122 }
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 void ACPI_INTERNAL_VAR_XFACE acpi_info(const char *format, ...)
139 {
140         va_list arg_list;
141
142         ACPI_MSG_REDIRECT_BEGIN;
143         acpi_os_printf(ACPI_MSG_INFO);
144
145         va_start(arg_list, format);
146         acpi_os_vprintf(format, arg_list);
147         acpi_os_printf("\n");
148         va_end(arg_list);
149
150         ACPI_MSG_REDIRECT_END;
151 }
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 acpi_bios_error(const char *module_name,
171                 u32 line_number, const char *format, ...)
172 {
173         va_list arg_list;
174
175         ACPI_MSG_REDIRECT_BEGIN;
176         acpi_os_printf(ACPI_MSG_BIOS_ERROR);
177
178         va_start(arg_list, format);
179         acpi_os_vprintf(format, arg_list);
180         ACPI_MSG_SUFFIX;
181         va_end(arg_list);
182
183         ACPI_MSG_REDIRECT_END;
184 }
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 acpi_bios_exception(const char *module_name,
205                     u32 line_number,
206                     acpi_status status, const char *format, ...)
207 {
208         va_list arg_list;
209
210         ACPI_MSG_REDIRECT_BEGIN;
211
212         /* For AE_OK, just print the message */
213
214         if (ACPI_SUCCESS(status)) {
215                 acpi_os_printf(ACPI_MSG_BIOS_ERROR);
216
217         } else {
218                 acpi_os_printf(ACPI_MSG_BIOS_ERROR "%s, ",
219                                acpi_format_exception(status));
220         }
221
222         va_start(arg_list, format);
223         acpi_os_vprintf(format, arg_list);
224         ACPI_MSG_SUFFIX;
225         va_end(arg_list);
226
227         ACPI_MSG_REDIRECT_END;
228 }
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 acpi_bios_warning(const char *module_name,
248                   u32 line_number, const char *format, ...)
249 {
250         va_list arg_list;
251
252         ACPI_MSG_REDIRECT_BEGIN;
253         acpi_os_printf(ACPI_MSG_BIOS_WARNING);
254
255         va_start(arg_list, format);
256         acpi_os_vprintf(format, arg_list);
257         ACPI_MSG_SUFFIX;
258         va_end(arg_list);
259
260         ACPI_MSG_REDIRECT_END;
261 }
262
263 ACPI_EXPORT_SYMBOL(acpi_bios_warning)
264 #endif                          /* ACPI_NO_ERROR_MESSAGES */