diff --git a/src/ec/system76/ec/acpi/ec.asl b/src/ec/system76/ec/acpi/ec.asl
index bc17106..f572c97 100644
--- a/src/ec/system76/ec/acpi/ec.asl
+++ b/src/ec/system76/ec/acpi/ec.asl
@@ -34,7 +34,7 @@
 	Name (ECOK, 0)
 	Method (_REG, 2, Serialized)  // _REG: Region Availability
 	{
-		Debug = Concatenate("EC: _REG", Concatenate(ToHexString(Arg0), Concatenate(" ", ToHexString(Arg1))))
+		Printf ("EC: _REG %o %o", ToHexString(Arg0), ToHexString(Arg1))
 		If ((Arg0 == 0x03) && (Arg1 == 1)) {
 			// Enable hardware touchpad lock, airplane mode, and keyboard backlight keys
 			ECOS = 1
@@ -64,7 +64,7 @@
 
 	Name (S3OS, 0)
 	Method (PTS, 1, Serialized) {
-		Debug = Concatenate("EC: PTS: ", ToHexString(Arg0))
+		Printf ("EC: PTS: %o", ToHexString(Arg0))
 		If (ECOK) {
 			// Save ECOS during sleep
 			S3OS = ECOS
@@ -75,7 +75,7 @@
 	}
 
 	Method (WAK, 1, Serialized) {
-		Debug = Concatenate("EC: WAK: ", ToHexString(Arg0))
+		Printf ("EC: WAK: %o", ToHexString(Arg0))
 		If (ECOK) {
 			// Restore ECOS after sleep
 			ECOS = S3OS
@@ -98,12 +98,12 @@
 
 	Method (_Q0A, 0, NotSerialized) // Touchpad Toggle
 	{
-		Debug = "EC: Touchpad Toggle"
+		Printf ("EC: Touchpad Toggle")
 	}
 
 	Method (_Q0B, 0, NotSerialized) // Screen Toggle
 	{
-		Debug = "EC: Screen Toggle"
+		Printf ("EC: Screen Toggle")
 #if CONFIG(EC_SYSTEM76_EC_OLED)
 		Notify (^^^^S76D, 0x85)
 #endif // CONFIG(EC_SYSTEM76_EC_OLED)
@@ -111,32 +111,32 @@
 
 	Method (_Q0C, 0, NotSerialized)  // Mute
 	{
-		Debug = "EC: Mute"
+		Printf ("EC: Mute")
 	}
 
 	Method (_Q0D, 0, NotSerialized) // Keyboard Backlight
 	{
-		Debug = "EC: Keyboard Backlight"
+		Printf ("EC: Keyboard Backlight")
 	}
 
 	Method (_Q0E, 0, NotSerialized) // Volume Down
 	{
-		Debug = "EC: Volume Down"
+		Printf ("EC: Volume Down")
 	}
 
 	Method (_Q0F, 0, NotSerialized) // Volume Up
 	{
-		Debug = "EC: Volume Up"
+		Printf ("EC: Volume Up")
 	}
 
 	Method (_Q10, 0, NotSerialized) // Switch Video Mode
 	{
-		Debug = "EC: Switch Video Mode"
+		Printf ("EC: Switch Video Mode")
 	}
 
 	Method (_Q11, 0, NotSerialized) // Brightness Down
 	{
-		Debug = "EC: Brightness Down"
+		Printf ("EC: Brightness Down")
 		if (^^^^HIDD.HRDY) {
 			^^^^HIDD.HPEM (20)
 		}
@@ -144,7 +144,7 @@
 
 	Method (_Q12, 0, NotSerialized) // Brightness Up
 	{
-		Debug = "EC: Brightness Up"
+		Printf ("EC: Brightness Up")
 		if (^^^^HIDD.HRDY) {
 			^^^^HIDD.HPEM (19)
 		}
@@ -152,12 +152,12 @@
 
 	Method (_Q13, 0, NotSerialized) // Camera Toggle
 	{
-		Debug = "EC: Camera Toggle"
+		Printf ("EC: Camera Toggle")
 	}
 
 	Method (_Q14, 0, NotSerialized) // Airplane Mode
 	{
-		Debug = "EC: Airplane Mode"
+		Printf ("EC: Airplane Mode")
 		if (^^^^HIDD.HRDY) {
 			^^^^HIDD.HPEM (8)
 		}
@@ -166,13 +166,13 @@
 
 	Method (_Q15, 0, NotSerialized) // Suspend Button
 	{
-		Debug = "EC: Suspend Button"
+		Printf ("EC: Suspend Button")
 		Notify (SLPB, 0x80)
 	}
 
 	Method (_Q16, 0, NotSerialized) // AC Detect
 	{
-		Debug = "EC: AC Detect"
+		Printf ("EC: AC Detect")
 		^^^^AC.ACFG = ADP
 		Notify (AC, 0x80) // Status Change
 		If (BAT0)
@@ -184,25 +184,25 @@
 
 	Method (_Q17, 0, NotSerialized)  // BAT0 Update
 	{
-		Debug = "EC: BAT0 Update (17)"
+		Printf ("EC: BAT0 Update (17)")
 		Notify (^^^^BAT0, 0x81) // Information Change
 	}
 
 	Method (_Q19, 0, NotSerialized)  // BAT0 Update
 	{
-		Debug = "EC: BAT0 Update (19)"
+		Printf ("EC: BAT0 Update (19)")
 		Notify (^^^^BAT0, 0x81) // Information Change
 	}
 
 	Method (_Q1B, 0, NotSerialized) // Lid Close
 	{
-		Debug = "EC: Lid Close"
+		Printf ("EC: Lid Close")
 		Notify (LID0, 0x80)
 	}
 
 	Method (_Q1C, 0, NotSerialized) // Thermal Trip
 	{
-		Debug = "EC: Thermal Trip"
+		Printf ("EC: Thermal Trip")
 		/* TODO
 		Notify (\_TZ.TZ0, 0x81) // Thermal Trip Point Change
 		Notify (\_TZ.TZ0, 0x80) // Thermal Status Change
@@ -211,7 +211,7 @@
 
 	Method (_Q1D, 0, NotSerialized) // Power Button
 	{
-		Debug = "EC: Power Button"
+		Printf ("EC: Power Button")
 		Notify (PWRB, 0x80)
 	}
 
@@ -219,22 +219,22 @@
 	{
 		Local0 = OEM4
 		If (Local0 == 0x8A) {
-			Debug = "EC: White Keyboard Backlight"
+			Printf ("EC: White Keyboard Backlight")
 			Notify (^^^^S76D, 0x80)
 		} ElseIf (Local0 == 0x9F) {
-			Debug = "EC: Color Keyboard Toggle"
+			Printf ("EC: Color Keyboard Toggle")
 			Notify (^^^^S76D, 0x81)
 		} ElseIf (Local0 == 0x81) {
-			Debug = "EC: Color Keyboard Down"
+			Printf ("EC: Color Keyboard Down")
 			Notify (^^^^S76D, 0x82)
 		} ElseIf (Local0 == 0x82) {
-			Debug = "EC: Color Keyboard Up"
+			Printf ("EC: Color Keyboard Up")
 			Notify (^^^^S76D, 0x83)
 		} ElseIf (Local0 == 0x80) {
-			Debug = "EC: Color Keyboard Color Change"
+			Printf ("EC: Color Keyboard Color Change")
 			Notify (^^^^S76D, 0x84)
 		} Else {
-			Debug = Concatenate("EC: Other: ", ToHexString(Local0))
+			Printf ("EC: Other: %o", ToHexString(Local0))
 		}
 	}
 
diff --git a/src/ec/system76/ec/acpi/lid.asl b/src/ec/system76/ec/acpi/lid.asl
index 26acc83..0a64341 100644
--- a/src/ec/system76/ec/acpi/lid.asl
+++ b/src/ec/system76/ec/acpi/lid.asl
@@ -6,7 +6,7 @@
 	Name (_PRW, Package () { EC_GPE_SWI, 3 })
 
 	Method (_LID, 0, NotSerialized) {
-		DEBUG = "LID: _LID"
+		Printf ("LID: _LID")
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			Return (^^PCI0.LPCB.EC0.LSTE)
 		} Else {
@@ -15,7 +15,7 @@
 	}
 
 	Method (_PSW, 1, NotSerialized) {
-		DEBUG = Concatenate("LID: _PSW: ", ToHexString(Arg0))
+		Printf ("LID: _PSW: %o", ToHexString(Arg0))
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			^^PCI0.LPCB.EC0.LWKE = Arg0
 		}
diff --git a/src/ec/system76/ec/acpi/s76.asl b/src/ec/system76/ec/acpi/s76.asl
index 6828be8..cf9889e 100644
--- a/src/ec/system76/ec/acpi/s76.asl
+++ b/src/ec/system76/ec/acpi/s76.asl
@@ -14,7 +14,7 @@
 	Name (_STA, 0xB)
 
 	Method (RSET, 0, Serialized) {
-		Debug = "S76D: RSET"
+		Printf ("S76D: RSET")
 		SAPL(0)
 		SKBL(0)
 #if CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD)
@@ -23,7 +23,7 @@
 	}
 
 	Method (INIT, 0, Serialized) {
-		Debug = "S76D: INIT"
+		Printf ("S76D: INIT")
 		RSET()
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			// Set flags to use software control
@@ -35,7 +35,7 @@
 	}
 
 	Method (FINI, 0, Serialized) {
-		Debug = "S76D: FINI"
+		Printf ("S76D: FINI")
 		RSET()
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			// Set flags to use hardware control
diff --git a/src/mainboard/system76/addw1/acpi/gpe.asl b/src/mainboard/system76/addw1/acpi/gpe.asl
index 7ef9a98..2c0a907 100644
--- a/src/mainboard/system76/addw1/acpi/gpe.asl
+++ b/src/mainboard/system76/addw1/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_K6 SCI
 Method (_L06, 0, Serialized) {
-	Debug = Concatenate("GPE _L06: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L06: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/bonw14/acpi/dgpu.asl b/src/mainboard/system76/bonw14/acpi/dgpu.asl
index 6521ee9..d7349ef 100644
--- a/src/mainboard/system76/bonw14/acpi/dgpu.asl
+++ b/src/mainboard/system76/bonw14/acpi/dgpu.asl
@@ -55,7 +55,7 @@
 
 		Method (_DSM, 4, Serialized)
 		{
-			Debug = "NVIDIA _DSM"
+			Printf("NVIDIA _DSM")
 			Printf("  Arg0: %o", IDST(Arg0))
 			Printf("  Arg1: %o", SFST(Arg1))
 			Printf("  Arg2: %o", SFST(Arg2))
diff --git a/src/mainboard/system76/bonw14/acpi/gpe.asl b/src/mainboard/system76/bonw14/acpi/gpe.asl
index 7ef9a98..2c0a907 100644
--- a/src/mainboard/system76/bonw14/acpi/gpe.asl
+++ b/src/mainboard/system76/bonw14/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_K6 SCI
 Method (_L06, 0, Serialized) {
-	Debug = Concatenate("GPE _L06: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L06: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/cml-u/acpi/gpe.asl b/src/mainboard/system76/cml-u/acpi/gpe.asl
index e0da476..8291837 100644
--- a/src/mainboard/system76/cml-u/acpi/gpe.asl
+++ b/src/mainboard/system76/cml-u/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_D9 SCI
 Method (_L29, 0, Serialized) {
-	Debug = Concatenate("GPE _L29: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L29: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/gaze15/acpi/gpe.asl b/src/mainboard/system76/gaze15/acpi/gpe.asl
index 7ef9a98..2c0a907 100644
--- a/src/mainboard/system76/gaze15/acpi/gpe.asl
+++ b/src/mainboard/system76/gaze15/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_K6 SCI
 Method (_L06, 0, Serialized) {
-	Debug = Concatenate("GPE _L06: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L06: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/kbl-u/acpi/ec.asl b/src/mainboard/system76/kbl-u/acpi/ec.asl
index 6663a2e..0899eb0 100644
--- a/src/mainboard/system76/kbl-u/acpi/ec.asl
+++ b/src/mainboard/system76/kbl-u/acpi/ec.asl
@@ -25,7 +25,7 @@
 	Name (ECOK, 0)
 	Method (_REG, 2, Serialized)  // _REG: Region Availability
 	{
-		Debug = Concatenate("EC: _REG", Concatenate(ToHexString(Arg0), Concatenate(" ", ToHexString(Arg1))))
+		Printf ("EC: _REG %o %o", ToHexString(Arg0), ToHexString(Arg1))
 		If ((Arg0 == 0x03) && (Arg1 == 1)) {
 			// Enable hardware touchpad lock, airplane mode, and keyboard backlight keys
 			ECOS = 1
@@ -55,7 +55,7 @@
 
 	Name (S3OS, 0)
 	Method (PTS, 1, Serialized) {
-		Debug = Concatenate("EC: PTS: ", ToHexString(Arg0))
+		Printf ("EC: PTS: %o", ToHexString(Arg0))
 		If (ECOK) {
 			// Save ECOS during sleep
 			S3OS = ECOS
@@ -66,7 +66,7 @@
 	}
 
 	Method (WAK, 1, Serialized) {
-		Debug = Concatenate("EC: WAK: ", ToHexString(Arg0))
+		Printf ("EC: WAK: %o", ToHexString(Arg0))
 		If (ECOK) {
 			// Restore ECOS after sleep
 			ECOS = S3OS
@@ -89,42 +89,42 @@
 
 	Method (_Q0A, 0, NotSerialized) // Touchpad Toggle
 	{
-		Debug = "EC: Touchpad Toggle"
+		Printf ("EC: Touchpad Toggle")
 	}
 
 	Method (_Q0B, 0, NotSerialized) // Screen Toggle
 	{
-		Debug = "EC: Screen Toggle"
+		Printf ("EC: Screen Toggle")
 	}
 
 	Method (_Q0C, 0, NotSerialized)  // Mute
 	{
-		Debug = "EC: Mute"
+		Printf ("EC: Mute")
 	}
 
 	Method (_Q0D, 0, NotSerialized) // Keyboard Backlight
 	{
-		Debug = "EC: Keyboard Backlight"
+		Printf ("EC: Keyboard Backlight")
 	}
 
 	Method (_Q0E, 0, NotSerialized) // Volume Down
 	{
-		Debug = "EC: Volume Down"
+		Printf ("EC: Volume Down")
 	}
 
 	Method (_Q0F, 0, NotSerialized) // Volume Up
 	{
-		Debug = "EC: Volume Up"
+		Printf ("EC: Volume Up")
 	}
 
 	Method (_Q10, 0, NotSerialized) // Switch Video Mode
 	{
-		Debug = "EC: Switch Video Mode"
+		Printf ("EC: Switch Video Mode")
 	}
 
 	Method (_Q11, 0, NotSerialized) // Brightness Down
 	{
-		Debug = "EC: Brightness Down"
+		Printf ("EC: Brightness Down")
 		if (^^^^HIDD.HRDY) {
 			^^^^HIDD.HPEM (20)
 		}
@@ -132,7 +132,7 @@
 
 	Method (_Q12, 0, NotSerialized) // Brightness Up
 	{
-		Debug = "EC: Brightness Up"
+		Printf ("EC: Brightness Up")
 		if (^^^^HIDD.HRDY) {
 			^^^^HIDD.HPEM (19)
 		}
@@ -140,12 +140,12 @@
 
 	Method (_Q13, 0, NotSerialized) // Camera Toggle
 	{
-		Debug = "EC: Camera Toggle"
+		Printf ("EC: Camera Toggle")
 	}
 
 	Method (_Q14, 0, NotSerialized) // Airplane Mode
 	{
-		Debug = "EC: Airplane Mode"
+		Printf ("EC: Airplane Mode")
 		if (^^^^HIDD.HRDY) {
 			^^^^HIDD.HPEM (8)
 		}
@@ -154,13 +154,13 @@
 
 	Method (_Q15, 0, NotSerialized) // Suspend Button
 	{
-		Debug = "EC: Suspend Button"
+		Printf ("EC: Suspend Button")
 		Notify (SLPB, 0x80)
 	}
 
 	Method (_Q16, 0, NotSerialized) // AC Detect
 	{
-		Debug = "EC: AC Detect"
+		Printf ("EC: AC Detect")
 		^^^^AC.ACFG = ADP
 		Notify (AC, 0x80) // Status Change
 		If (BAT0)
@@ -172,25 +172,25 @@
 
 	Method (_Q17, 0, NotSerialized)  // BAT0 Update
 	{
-		Debug = "EC: BAT0 Update (17)"
+		Printf ("EC: BAT0 Update (17)")
 		Notify (^^^^BAT0, 0x81) // Information Change
 	}
 
 	Method (_Q19, 0, NotSerialized)  // BAT0 Update
 	{
-		Debug = "EC: BAT0 Update (19)"
+		Printf ("EC: BAT0 Update (19)")
 		Notify (^^^^BAT0, 0x81) // Information Change
 	}
 
 	Method (_Q1B, 0, NotSerialized) // Lid Close
 	{
-		Debug = "EC: Lid Close"
+		Printf ("EC: Lid Close")
 		Notify (LID0, 0x80)
 	}
 
 	Method (_Q1C, 0, NotSerialized) // Thermal Trip
 	{
-		Debug = "EC: Thermal Trip"
+		Printf ("EC: Thermal Trip")
 		/* TODO
 		Notify (\_TZ.TZ0, 0x81) // Thermal Trip Point Change
 		Notify (\_TZ.TZ0, 0x80) // Thermal Status Change
@@ -199,7 +199,7 @@
 
 	Method (_Q1D, 0, NotSerialized) // Power Button
 	{
-		Debug = "EC: Power Button"
+		Printf ("EC: Power Button")
 		Notify (PWRB, 0x80)
 	}
 
@@ -207,22 +207,22 @@
 	{
 		Local0 = OEM4
 		If (Local0 == 0x8A) {
-			Debug = "EC: White Keyboard Backlight"
+			Printf ("EC: White Keyboard Backlight")
 			Notify (^^^^S76D, 0x80)
 		} ElseIf (Local0 == 0x9F) {
-			Debug = "EC: Color Keyboard Toggle"
+			Printf ("EC: Color Keyboard Toggle")
 			Notify (^^^^S76D, 0x81)
 		} ElseIf (Local0 == 0x81) {
-			Debug = "EC: Color Keyboard Down"
+			Printf ("EC: Color Keyboard Down")
 			Notify (^^^^S76D, 0x82)
 		} ElseIf (Local0 == 0x82) {
-			Debug = "EC: Color Keyboard Up"
+			Printf ("EC: Color Keyboard Up")
 			Notify (^^^^S76D, 0x83)
 		} ElseIf (Local0 == 0x80) {
-			Debug = "EC: Color Keyboard Color Change"
+			Printf ("EC: Color Keyboard Color Change")
 			Notify (^^^^S76D, 0x84)
 		} Else {
-			Debug = Concatenate("EC: Other: ", ToHexString(Local0))
+			Printf ("EC: Other: %o", ToHexString(Local0))
 		}
 	}
 }
diff --git a/src/mainboard/system76/kbl-u/acpi/gpe.asl b/src/mainboard/system76/kbl-u/acpi/gpe.asl
index b60a132..8b69694 100644
--- a/src/mainboard/system76/kbl-u/acpi/gpe.asl
+++ b/src/mainboard/system76/kbl-u/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_C19 SCI
 Method (_L13, 0, Serialized) {
-	Debug = Concatenate("GPE _L13: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L13: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/kbl-u/acpi/lid.asl b/src/mainboard/system76/kbl-u/acpi/lid.asl
index 067c96f..45ed851 100644
--- a/src/mainboard/system76/kbl-u/acpi/lid.asl
+++ b/src/mainboard/system76/kbl-u/acpi/lid.asl
@@ -6,7 +6,7 @@
 	Name (_PRW, Package () { 0x13 /* GPP_C19 */, 3 })
 
 	Method (_LID, 0, NotSerialized) {
-		DEBUG = "LID: _LID"
+		Printf ("LID: _LID")
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			Return (^^PCI0.LPCB.EC0.LSTE)
 		} Else {
@@ -15,7 +15,7 @@
 	}
 
 	Method (_PSW, 1, NotSerialized) {
-		DEBUG = Concatenate("LID: _PSW: ", ToHexString(Arg0))
+		Printf ("LID: _PSW: %o", ToHexString(Arg0))
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			^^PCI0.LPCB.EC0.LWKE = Arg0
 		}
diff --git a/src/mainboard/system76/kbl-u/acpi/s76.asl b/src/mainboard/system76/kbl-u/acpi/s76.asl
index babca3a..53bb801 100644
--- a/src/mainboard/system76/kbl-u/acpi/s76.asl
+++ b/src/mainboard/system76/kbl-u/acpi/s76.asl
@@ -11,13 +11,13 @@
 	Name (_UID, 0)
 
 	Method (RSET, 0, Serialized) {
-		Debug = "S76D: RSET"
+		Printf ("S76D: RSET")
 		SAPL(0)
 		SKBL(0)
 	}
 
 	Method (INIT, 0, Serialized) {
-		Debug = "S76D: INIT"
+		Printf ("S76D: INIT")
 		RSET()
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			// Set flags to use software control
@@ -29,7 +29,7 @@
 	}
 
 	Method (FINI, 0, Serialized) {
-		Debug = "S76D: FINI"
+		Printf ("S76D: FINI")
 		RSET()
 		If (^^PCI0.LPCB.EC0.ECOK) {
 			// Set flags to use hardware control
diff --git a/src/mainboard/system76/oryp5/acpi/gpe.asl b/src/mainboard/system76/oryp5/acpi/gpe.asl
index 8102264..cfb431b 100644
--- a/src/mainboard/system76/oryp5/acpi/gpe.asl
+++ b/src/mainboard/system76/oryp5/acpi/gpe.asl
@@ -3,7 +3,7 @@
 // GPP_B23 SCI
 Method (_L17, 0, Serialized)
 {
-	Debug = Concatenate("GPE _L17: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L17: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/oryp6/acpi/gpe.asl b/src/mainboard/system76/oryp6/acpi/gpe.asl
index 7ef9a98..2c0a907 100644
--- a/src/mainboard/system76/oryp6/acpi/gpe.asl
+++ b/src/mainboard/system76/oryp6/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_K6 SCI
 Method (_L06, 0, Serialized) {
-	Debug = Concatenate("GPE _L06: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L06: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
diff --git a/src/mainboard/system76/whl-u/acpi/gpe.asl b/src/mainboard/system76/whl-u/acpi/gpe.asl
index e0da476..8291837 100644
--- a/src/mainboard/system76/whl-u/acpi/gpe.asl
+++ b/src/mainboard/system76/whl-u/acpi/gpe.asl
@@ -2,7 +2,7 @@
 
 // GPP_D9 SCI
 Method (_L29, 0, Serialized) {
-	Debug = Concatenate("GPE _L29: ", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
+	Printf ("GPE _L29: %o", ToHexString(\_SB.PCI0.LPCB.EC0.WFNO))
 	If (\_SB.PCI0.LPCB.EC0.ECOK) {
 		If (\_SB.PCI0.LPCB.EC0.WFNO == 1) {
 			Notify(\_SB.LID0, 0x80)
