ACPICA: Cleanup ACPI_DEBUG_PRINT macros to fix potential build breakages.
Bob Moore [Tue, 8 Jan 2013 22:46:04 +0000 (23:46 +0100)]
Fix two issues with the ACPI_DEBUG_PRINT macros.
1) Add the ACPI_DO_WHILE0 macro to the main DEBUG_PRINT helper macro.
2) Rename ACPI_DEBUG macro to ACPI_DO_DEBUG_PRINT since ACPI_DEBUG
   is already commonly used by the various hosts.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

include/acpi/acoutput.h

index 23db272..b48cb34 100644 (file)
  * debug message outside of the print function itself. This improves overall
  * performance at a relatively small code cost. Implementation involves the
  * use of variadic macros supported by C99.
+ *
+ * Note: the ACPI_DO_WHILE0 macro is used to prevent some compilers from
+ * complaining about these constructs. On other compilers the do...while
+ * adds some extra code, so this feature is optional.
  */
+#ifdef ACPI_USE_DO_WHILE_0
+#define ACPI_DO_WHILE0(a)               do a while(0)
+#else
+#define ACPI_DO_WHILE0(a)               a
+#endif
 
 /* DEBUG_PRINT functions */
 
 
 /* Helper macros for DEBUG_PRINT */
 
-#define ACPI_DEBUG(function, level, line, filename, modulename, component, ...) \
-       if (ACPI_IS_DEBUG_ENABLED (level, component)) \
-       { \
-               function (level, line, filename, modulename, component, __VA_ARGS__); \
-       }
+#define ACPI_DO_DEBUG_PRINT(function, level, line, filename, modulename, component, ...) \
+       ACPI_DO_WHILE0 ({ \
+               if (ACPI_IS_DEBUG_ENABLED (level, component)) \
+               { \
+                       function (level, line, filename, modulename, component, __VA_ARGS__); \
+               } \
+       })
 
 #define ACPI_ACTUAL_DEBUG(level, line, filename, modulename, component, ...) \
-       ACPI_DEBUG (acpi_debug_print, level, line, filename, modulename, component, __VA_ARGS__)
+       ACPI_DO_DEBUG_PRINT (acpi_debug_print, level, line, \
+               filename, modulename, component, __VA_ARGS__)
 
 #define ACPI_ACTUAL_DEBUG_RAW(level, line, filename, modulename, component, ...) \
-       ACPI_DEBUG (acpi_debug_print_raw, level, line, filename, modulename, component, __VA_ARGS__)
+       ACPI_DO_DEBUG_PRINT (acpi_debug_print_raw, level, line, \
+               filename, modulename, component, __VA_ARGS__)
 
 /*
  * Function entry tracing
  *
  * One of the FUNCTION_TRACE macros above must be used in conjunction
  * with these macros so that "_AcpiFunctionName" is defined.
- *
- * Note: the DO_WHILE0 macro is used to prevent some compilers from
- * complaining about these constructs. On other compilers the do...while
- * adds some extra code, so this feature is optional.
  */
-#ifdef ACPI_USE_DO_WHILE_0
-#define ACPI_DO_WHILE0(a)               do a while(0)
-#else
-#define ACPI_DO_WHILE0(a)               a
-#endif
 
 /* Exit trace helper macro */