Index: /trunk/src/VBox/Devices/Audio/DevHDA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevHDA.cpp	(revision 82420)
+++ /trunk/src/VBox/Devices/Audio/DevHDA.cpp	(revision 82421)
@@ -4231,5 +4231,5 @@
 
 /**
- * @callback_method_impl{FNDBGFHANDLERDEV}
+ * @callback_method_impl{FNDBGFHANDLERDEV, hdastream}
  */
 static DECLCALLBACK(void) hdaR3DbgInfoStream(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
@@ -4245,5 +4245,5 @@
 
 /**
- * @callback_method_impl{FNDBGFHANDLERDEV}
+ * @callback_method_impl{FNDBGFHANDLERDEV, hdabdle}
  */
 static DECLCALLBACK(void) hdaR3DbgInfoBDLE(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
@@ -4259,5 +4259,5 @@
 
 /**
- * @callback_method_impl{FNDBGFHANDLERDEV}
+ * @callback_method_impl{FNDBGFHANDLERDEV, hdcnodes}
  */
 static DECLCALLBACK(void) hdaR3DbgInfoCodecNodes(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
@@ -4272,5 +4272,5 @@
 
 /**
- * @callback_method_impl{FNDBGFHANDLERDEV}
+ * @callback_method_impl{FNDBGFHANDLERDEV, hdcselector}
  */
 static DECLCALLBACK(void) hdaR3DbgInfoCodecSelector(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
@@ -4285,5 +4285,5 @@
 
 /**
- * @callback_method_impl{FNDBGFHANDLERDEV}
+ * @callback_method_impl{FNDBGFHANDLERDEV, hdamixer}
  */
 static DECLCALLBACK(void) hdaR3DbgInfoMixer(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
Index: /trunk/src/VBox/Devices/Audio/DevHDA.h
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevHDA.h	(revision 82420)
+++ /trunk/src/VBox/Devices/Audio/DevHDA.h	(revision 82421)
@@ -68,5 +68,5 @@
 
 /** @todo Make STAM values out of this? */
-typedef struct HDASTATEDBGINFO
+typedef struct HDASTATEDEBUG
 {
 #ifdef DEBUG
@@ -98,5 +98,5 @@
      *  Defaults to VBOX_AUDIO_DEBUG_DUMP_PCM_DATA_PATH. */
     char                    szOutPath[RTPATH_MAX + 1];
-} HDASTATEDBGINFO, *PHDASTATEDBGINFO;
+} HDASTATEDEBUG;
 
 /**
@@ -192,5 +192,6 @@
     /** Padding for alignment. */
     uint8_t                 au8Padding3[3];
-    HDASTATEDBGINFO         Dbg;
+    /** Debug stuff. */
+    HDASTATEDEBUG           Dbg;
 
     /** PCI Region \#0: 16KB of MMIO stuff. */
Index: /trunk/src/VBox/Devices/Audio/HDACodec.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/HDACodec.cpp	(revision 82420)
+++ /trunk/src/VBox/Devices/Audio/HDACodec.cpp	(revision 82421)
@@ -2768,6 +2768,9 @@
 };
 
-#ifdef DEBUG
-typedef struct CODECDBGINFO
+
+/**
+ * CODEC debug info item printing state.
+ */
+typedef struct CODECDEBUG
 {
     /** DBGF info helpers. */
@@ -2777,33 +2780,25 @@
     /** Pointer to codec state. */
     PHDACODEC pThis;
-
-} CODECDBGINFO, *PCODECDBGINFO;
-
-#define CODECDBG_INDENT   pInfo->uLevel++;
-#define CODECDBG_UNINDENT if (pInfo->uLevel) pInfo->uLevel--;
-
-#define CODECDBG_PRINT(...)  pInfo->pHlp->pfnPrintf(pInfo->pHlp, __VA_ARGS__)
-#define CODECDBG_PRINTI(...) codecDbgPrintf(pInfo, __VA_ARGS__)
-
-static void codecDbgPrintfIndentV(PCODECDBGINFO pInfo, uint16_t uIndent, const char *pszFormat, va_list va)
-{
-    char *pszValueFormat;
-    if (RTStrAPrintfV(&pszValueFormat, pszFormat, va))
-    {
-        pInfo->pHlp->pfnPrintf(pInfo->pHlp, "%*s%s", uIndent, "", pszValueFormat);
-        RTStrFree(pszValueFormat);
-    }
-}
-
-static void codecDbgPrintf(PCODECDBGINFO pInfo, const char *pszFormat, ...)
+} CODECDEBUG;
+/** Pointer to the debug info item printing state for the codec. */
+typedef CODECDEBUG *PCODECDEBUG;
+
+#define CODECDBG_INDENT         pInfo->uLevel++;
+#define CODECDBG_UNINDENT       if (pInfo->uLevel) pInfo->uLevel--;
+
+#define CODECDBG_PRINT(...)     pInfo->pHlp->pfnPrintf(pInfo->pHlp, __VA_ARGS__)
+#define CODECDBG_PRINTI(...)    codecDbgPrintf(pInfo, __VA_ARGS__)
+
+/** Wrapper around DBGFINFOHLP::pfnPrintf that adds identation. */
+static void codecDbgPrintf(PCODECDEBUG pInfo, const char *pszFormat, ...)
 {
     va_list va;
     va_start(va, pszFormat);
-    codecDbgPrintfIndentV(pInfo, pInfo->uLevel * 4, pszFormat, va);
+    pInfo->pHlp->pfnPrintf(pInfo->pHlp, "%*s%N", pInfo->uLevel * 4, "", pszFormat, &va);
     va_end(va);
 }
 
-/* Power state */
-static void codecDbgPrintNodeRegF05(PCODECDBGINFO pInfo, uint32_t u32Reg)
+/** Power state */
+static void codecDbgPrintNodeRegF05(PCODECDEBUG pInfo, uint32_t u32Reg)
 {
     codecDbgPrintf(pInfo, "Power (F05): fReset=%RTbool, fStopOk=%RTbool, Set=%RU8, Act=%RU8\n",
@@ -2811,10 +2806,10 @@
 }
 
-static void codecDbgPrintNodeRegA(PCODECDBGINFO pInfo, uint32_t u32Reg)
+static void codecDbgPrintNodeRegA(PCODECDEBUG pInfo, uint32_t u32Reg)
 {
     codecDbgPrintf(pInfo, "RegA: %x\n", u32Reg);
 }
 
-static void codecDbgPrintNodeRegF00(PCODECDBGINFO pInfo, uint32_t *paReg00)
+static void codecDbgPrintNodeRegF00(PCODECDEBUG pInfo, uint32_t *paReg00)
 {
     codecDbgPrintf(pInfo, "Parameters (F00):\n");
@@ -2841,12 +2836,12 @@
 }
 
-static void codecDbgPrintNodeAmp(PCODECDBGINFO pInfo, uint32_t *paReg, uint8_t uIdx, uint8_t uDir)
-{
-#define CODECDBG_AMP(reg, chan) \
-    codecDbgPrintf(pInfo, "Amp %RU8 %s %s: In=%RTbool, Out=%RTbool, Left=%RTbool, Right=%RTbool, Idx=%RU8, fMute=%RTbool, uGain=%RU8\n", \
-                   uIdx, chan, uDir == AMPLIFIER_IN ? "In" : "Out", \
-                   RT_BOOL(CODEC_SET_AMP_IS_IN_DIRECTION(reg)), RT_BOOL(CODEC_SET_AMP_IS_OUT_DIRECTION(reg)), \
-                   RT_BOOL(CODEC_SET_AMP_IS_LEFT_SIDE(reg)), RT_BOOL(CODEC_SET_AMP_IS_RIGHT_SIDE(reg)), \
-                   CODEC_SET_AMP_INDEX(reg), RT_BOOL(CODEC_SET_AMP_MUTE(reg)), CODEC_SET_AMP_GAIN(reg));
+static void codecDbgPrintNodeAmp(PCODECDEBUG pInfo, uint32_t *paReg, uint8_t uIdx, uint8_t uDir)
+{
+# define CODECDBG_AMP(reg, chan) \
+        codecDbgPrintf(pInfo, "Amp %RU8 %s %s: In=%RTbool, Out=%RTbool, Left=%RTbool, Right=%RTbool, Idx=%RU8, fMute=%RTbool, uGain=%RU8\n", \
+                       uIdx, chan, uDir == AMPLIFIER_IN ? "In" : "Out", \
+                       RT_BOOL(CODEC_SET_AMP_IS_IN_DIRECTION(reg)), RT_BOOL(CODEC_SET_AMP_IS_OUT_DIRECTION(reg)), \
+                       RT_BOOL(CODEC_SET_AMP_IS_LEFT_SIDE(reg)), RT_BOOL(CODEC_SET_AMP_IS_RIGHT_SIDE(reg)), \
+                       CODEC_SET_AMP_INDEX(reg), RT_BOOL(CODEC_SET_AMP_MUTE(reg)), CODEC_SET_AMP_GAIN(reg))
 
     uint32_t regAmp = AMPLIFIER_REGISTER(paReg, uDir, AMPLIFIER_LEFT, uIdx);
@@ -2855,9 +2850,9 @@
     CODECDBG_AMP(regAmp, "Right");
 
-#undef CODECDBG_AMP
-}
-
-#if 0 /* unused */
-static void codecDbgPrintNodeConnections(PCODECDBGINFO pInfo, PCODECNODE pNode)
+# undef CODECDBG_AMP
+}
+
+# if 0 /* unused */
+static void codecDbgPrintNodeConnections(PCODECDEBUG pInfo, PCODECNODE pNode)
 {
     if (pNode->node.au32F00_param[0xE] == 0) /* Directly connected to HDA link. */
@@ -2867,7 +2862,7 @@
     }
 }
-#endif
-
-static void codecDbgPrintNode(PCODECDBGINFO pInfo, PCODECNODE pNode, bool fRecursive)
+# endif
+
+static void codecDbgPrintNode(PCODECDEBUG pInfo, PCODECNODE pNode, bool fRecursive)
 {
     codecDbgPrintf(pInfo, "Node 0x%02x (%02RU8): ", pNode->node.uID, pNode->node.uID);
@@ -2928,35 +2923,19 @@
     }
     else if (hdaCodecIsPcbeepNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("PC BEEP\n");
-    }
     else if (hdaCodecIsSpdifOutNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("SPDIF OUT\n");
-    }
     else if (hdaCodecIsSpdifInNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("SPDIF IN\n");
-    }
     else if (hdaCodecIsDigInPinNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("DIGITAL IN PIN\n");
-    }
     else if (hdaCodecIsDigOutPinNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("DIGITAL OUT PIN\n");
-    }
     else if (hdaCodecIsCdNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("CD\n");
-    }
     else if (hdaCodecIsVolKnobNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("VOLUME KNOB\n");
-    }
     else if (hdaCodecIsReservedNode(pInfo->pThis, pNode->node.uID))
-    {
         CODECDBG_PRINT("RESERVED\n");
-    }
     else
         CODECDBG_PRINT("UNKNOWN TYPE 0x%x\n", pNode->node.uID);
@@ -2964,11 +2943,11 @@
     if (fRecursive)
     {
-#define CODECDBG_PRINT_CONLIST_ENTRY(_aNode, _aEntry)                              \
-        if (cCnt >= _aEntry)                                                       \
-        {                                                                          \
-            const uint8_t uID = RT_BYTE##_aEntry(_aNode->node.au32F02_param[0x0]); \
-            if (pNode->node.uID == uID)                                             \
-                codecDbgPrintNode(pInfo, _aNode, false /* fRecursive */);          \
-        }
+# define CODECDBG_PRINT_CONLIST_ENTRY(_aNode, _aEntry) \
+            if (cCnt >= _aEntry) \
+            { \
+                const uint8_t uID = RT_BYTE##_aEntry(_aNode->node.au32F02_param[0x0]); \
+                if (pNode->node.uID == uID) \
+                    codecDbgPrintNode(pInfo, _aNode, false /* fRecursive */); \
+            }
 
         /* Slow recursion, but this is debug stuff anyway. */
@@ -2991,5 +2970,5 @@
         }
 
-#undef CODECDBG_PRINT_CONLIST_ENTRY
+# undef CODECDBG_PRINT_CONLIST_ENTRY
    }
 }
@@ -3000,10 +2979,10 @@
     pHlp->pfnPrintf(pHlp, "HDA LINK / INPUTS\n");
 
-    CODECDBGINFO dbgInfo;
+    CODECDEBUG dbgInfo;
     dbgInfo.pHlp   = pHlp;
     dbgInfo.pThis  = pThis;
     dbgInfo.uLevel = 0;
 
-    PCODECDBGINFO pInfo = &dbgInfo;
+    PCODECDEBUG pInfo = &dbgInfo;
 
     CODECDBG_INDENT
@@ -3019,9 +2998,12 @@
 }
 
+#ifdef DEBUG
+
 static DECLCALLBACK(void) codecDbgSelector(PHDACODEC pThis, PCDBGFINFOHLP pHlp, const char *pszArgs)
 {
     RT_NOREF(pThis, pHlp, pszArgs);
 }
-#endif
+
+#endif /* DEBUG */
 
 static DECLCALLBACK(int) codecLookup(PHDACODEC pThis, uint32_t cmd, uint64_t *puResp)
@@ -3251,6 +3233,6 @@
 #ifdef DEBUG
     pThis->pfnDbgSelector  = codecDbgSelector;
+#endif
     pThis->pfnDbgListNodes = codecDbgListNodes;
-#endif
     pThis->pfnLookup       = codecLookup;
 
