diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c
index c32fad1..eb9a882 100644
--- a/drivers/mmc/pxamci.c
+++ b/drivers/mmc/pxamci.c
@@ -37,12 +37,6 @@
 
 #include "pxamci.h"
 
-#ifdef CONFIG_MMC_DEBUG
-#define DBG(x...)	printk(KERN_DEBUG x)
-#else
-#define DBG(x...)	do { } while (0)
-#endif
-
 #define DRIVER_NAME	"pxa2xx-mci"
 
 #define NR_SG	1
@@ -206,7 +200,7 @@
 
 static void pxamci_finish_request(struct pxamci_host *host, struct mmc_request *mrq)
 {
-	DBG("PXAMCI: request done\n");
+	pr_debug("PXAMCI: request done\n");
 	host->mrq = NULL;
 	host->cmd = NULL;
 	host->data = NULL;
@@ -252,7 +246,7 @@
 			if ((cmd->resp[0] & 0x80000000) == 0)
 				cmd->error = MMC_ERR_BADCRC;
 		} else {
-			DBG("ignoring CRC from command %d - *risky*\n",cmd->opcode);
+			pr_debug("ignoring CRC from command %d - *risky*\n",cmd->opcode);
 		}
 #else
 		cmd->error = MMC_ERR_BADCRC;
@@ -317,12 +311,12 @@
 
 	ireg = readl(host->base + MMC_I_REG);
 
-	DBG("PXAMCI: irq %08x\n", ireg);
+	pr_debug("PXAMCI: irq %08x\n", ireg);
 
 	if (ireg) {
 		unsigned stat = readl(host->base + MMC_STAT);
 
-		DBG("PXAMCI: stat %08x\n", stat);
+		pr_debug("PXAMCI: stat %08x\n", stat);
 
 		if (ireg & END_CMD_RES)
 			handled |= pxamci_cmd_done(host, stat);
@@ -376,9 +370,9 @@
 {
 	struct pxamci_host *host = mmc_priv(mmc);
 
-	DBG("pxamci_set_ios: clock %u power %u vdd %u.%02u\n",
-	    ios->clock, ios->power_mode, ios->vdd / 100,
-	    ios->vdd % 100);
+	pr_debug("pxamci_set_ios: clock %u power %u vdd %u.%02u\n",
+		 ios->clock, ios->power_mode, ios->vdd / 100,
+		 ios->vdd % 100);
 
 	if (ios->clock) {
 		unsigned int clk = CLOCKRATE / ios->clock;
@@ -405,8 +399,8 @@
 			host->cmdat |= CMDAT_INIT;
 	}
 
-	DBG("pxamci_set_ios: clkrt = %x cmdat = %x\n",
-	    host->clkrt, host->cmdat);
+	pr_debug("pxamci_set_ios: clkrt = %x cmdat = %x\n",
+		 host->clkrt, host->cmdat);
 }
 
 static struct mmc_host_ops pxamci_ops = {
