[03/10] ALSA: control: Use standard printk helpers
diff mbox

Message ID 1392204792-12655-4-git-send-email-tiwai@suse.de
State Accepted
Delegated to: Takashi Iwai
Headers show

Commit Message

Takashi Iwai Feb. 12, 2014, 11:33 a.m. UTC
Use dev_err() & co as much as possible.  If not available (no device
assigned at the calling point), use pr_xxx() helpers instead.

For simplicity, introduce new helpers for pcm stream, pcm_err(), etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 include/sound/pcm.h     |  8 ++++++++
 sound/core/pcm.c        | 12 +++++++-----
 sound/core/pcm_lib.c    | 27 +++++++++++++--------------
 sound/core/pcm_native.c | 47 ++++++++++++++++++++++++-----------------------
 sound/core/pcm_timer.c  |  4 +++-
 5 files changed, 55 insertions(+), 43 deletions(-)

Comments

Takashi Iwai Feb. 12, 2014, 6:56 p.m. UTC | #1
At Wed, 12 Feb 2014 12:33:05 +0100,
Takashi Iwai wrote:
> 
> Use dev_err() & co as much as possible.  If not available (no device
> assigned at the calling point), use pr_xxx() helpers instead.
> 
> For simplicity, introduce new helpers for pcm stream, pcm_err(), etc.
> 
> Signed-off-by: Takashi Iwai <tiwai@suse.de>

The subject should be "pcm" instead of "control".  Fixed in git tree
topic/snd-card-dev branch.


Takashi

> ---
>  include/sound/pcm.h     |  8 ++++++++
>  sound/core/pcm.c        | 12 +++++++-----
>  sound/core/pcm_lib.c    | 27 +++++++++++++--------------
>  sound/core/pcm_native.c | 47 ++++++++++++++++++++++++-----------------------
>  sound/core/pcm_timer.c  |  4 +++-
>  5 files changed, 55 insertions(+), 43 deletions(-)
> 
> diff --git a/include/sound/pcm.h b/include/sound/pcm.h
> index 4883499ab38b..b4d6697085fe 100644
> --- a/include/sound/pcm.h
> +++ b/include/sound/pcm.h
> @@ -1141,4 +1141,12 @@ static inline u64 pcm_format_to_bits(snd_pcm_format_t pcm_format)
>  	return 1ULL << (__force int) pcm_format;
>  }
>  
> +/* printk helpers */
> +#define pcm_err(pcm, fmt, args...) \
> +	dev_err((pcm)->card->dev, fmt, ##args)
> +#define pcm_warn(pcm, fmt, args...) \
> +	dev_warn((pcm)->card->dev, fmt, ##args)
> +#define pcm_dbg(pcm, fmt, args...) \
> +	dev_dbg((pcm)->card->dev, fmt, ##args)
> +
>  #endif /* __SOUND_PCM_H */
> diff --git a/sound/core/pcm.c b/sound/core/pcm.c
> index 091a05c1d5b3..9defdaef520b 100644
> --- a/sound/core/pcm.c
> +++ b/sound/core/pcm.c
> @@ -338,7 +338,8 @@ static void snd_pcm_proc_info_read(struct snd_pcm_substream *substream,
>  
>  	info = kmalloc(sizeof(*info), GFP_KERNEL);
>  	if (! info) {
> -		printk(KERN_DEBUG "snd_pcm_proc_info_read: cannot malloc\n");
> +		pcm_dbg(substream->pcm,
> +			"snd_pcm_proc_info_read: cannot malloc\n");
>  		return;
>  	}
>  
> @@ -660,7 +661,7 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
>  	if (substream_count > 0 && !pcm->internal) {
>  		err = snd_pcm_stream_proc_init(pstr);
>  		if (err < 0) {
> -			snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
> +			pcm_err(pcm, "Error in snd_pcm_stream_proc_init\n");
>  			return err;
>  		}
>  	}
> @@ -668,7 +669,7 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
>  	for (idx = 0, prev = NULL; idx < substream_count; idx++) {
>  		substream = kzalloc(sizeof(*substream), GFP_KERNEL);
>  		if (substream == NULL) {
> -			snd_printk(KERN_ERR "Cannot allocate PCM substream\n");
> +			pcm_err(pcm, "Cannot allocate PCM substream\n");
>  			return -ENOMEM;
>  		}
>  		substream->pcm = pcm;
> @@ -685,7 +686,8 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
>  		if (!pcm->internal) {
>  			err = snd_pcm_substream_proc_init(substream);
>  			if (err < 0) {
> -				snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
> +				pcm_err(pcm,
> +					"Error in snd_pcm_stream_proc_init\n");
>  				if (prev == NULL)
>  					pstr->substream = NULL;
>  				else
> @@ -724,7 +726,7 @@ static int _snd_pcm_new(struct snd_card *card, const char *id, int device,
>  		*rpcm = NULL;
>  	pcm = kzalloc(sizeof(*pcm), GFP_KERNEL);
>  	if (pcm == NULL) {
> -		snd_printk(KERN_ERR "Cannot allocate PCM\n");
> +		dev_err(card->dev, "Cannot allocate PCM\n");
>  		return -ENOMEM;
>  	}
>  	pcm->card = card;
> diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
> index a2104671f51d..6630a4eb8393 100644
> --- a/sound/core/pcm_lib.c
> +++ b/sound/core/pcm_lib.c
> @@ -174,7 +174,7 @@ static void xrun(struct snd_pcm_substream *substream)
>  	if (xrun_debug(substream, XRUN_DEBUG_BASIC)) {
>  		char name[16];
>  		snd_pcm_debug_name(substream, name, sizeof(name));
> -		snd_printd(KERN_DEBUG "XRUN: %s\n", name);
> +		pcm_warn(substream->pcm, "XRUN: %s\n", name);
>  		dump_stack_on_xrun(substream);
>  	}
>  }
> @@ -184,9 +184,7 @@ static void xrun(struct snd_pcm_substream *substream)
>  	do {								\
>  		if (xrun_debug(substream, XRUN_DEBUG_BASIC)) {		\
>  			xrun_log_show(substream);			\
> -			if (snd_printd_ratelimit()) {			\
> -				snd_printd("PCM: " fmt, ##args);	\
> -			}						\
> +			pr_err_ratelimited("ALSA: PCM: " fmt, ##args);	\
>  			dump_stack_on_xrun(substream);			\
>  		}							\
>  	} while (0)
> @@ -253,7 +251,7 @@ static void xrun_log_show(struct snd_pcm_substream *substream)
>  		entry = &log->entries[idx];
>  		if (entry->period_size == 0)
>  			break;
> -		snd_printd("hwptr log: %s: %sj=%lu, pos=%ld/%ld/%ld, "
> +		pr_info("hwptr log: %s: %sj=%lu, pos=%ld/%ld/%ld, "
>  			   "hwptr=%ld/%ld\n",
>  			   name, entry->in_interrupt ? "[Q] " : "",
>  			   entry->jiffies,
> @@ -342,14 +340,14 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
>  		return -EPIPE;
>  	}
>  	if (pos >= runtime->buffer_size) {
> -		if (snd_printd_ratelimit()) {
> +		if (printk_ratelimit()) {
>  			char name[16];
>  			snd_pcm_debug_name(substream, name, sizeof(name));
>  			xrun_log_show(substream);
> -			snd_printd(KERN_ERR  "BUG: %s, pos = %ld, "
> -				   "buffer size = %ld, period size = %ld\n",
> -				   name, pos, runtime->buffer_size,
> -				   runtime->period_size);
> +			pcm_err(substream->pcm,
> +				"BUG: %s, pos = %ld, buffer size = %ld, period size = %ld\n",
> +				name, pos, runtime->buffer_size,
> +				runtime->period_size);
>  		}
>  		pos = 0;
>  	}
> @@ -394,8 +392,8 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
>  			XRUN_DEBUG_PERIODUPDATE : XRUN_DEBUG_HWPTRUPDATE)) {
>  		char name[16];
>  		snd_pcm_debug_name(substream, name, sizeof(name));
> -		snd_printd("%s_update: %s: pos=%u/%u/%u, "
> -			   "hwptr=%ld/%ld/%ld/%ld\n",
> +		pcm_dbg(substream->pcm,
> +			"%s_update: %s: pos=%u/%u/%u, hwptr=%ld/%ld/%ld/%ld\n",
>  			   in_interrupt ? "period" : "hwptr",
>  			   name,
>  			   (unsigned int)pos,
> @@ -1941,8 +1939,9 @@ static int wait_for_avail(struct snd_pcm_substream *substream,
>  			continue;
>  		}
>  		if (!tout) {
> -			snd_printd("%s write error (DMA or IRQ trouble?)\n",
> -				   is_playback ? "playback" : "capture");
> +			pcm_dbg(substream->pcm,
> +				"%s write error (DMA or IRQ trouble?)\n",
> +				is_playback ? "playback" : "capture");
>  			err = -EIO;
>  			break;
>  		}
> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
> index e3664116736b..b653ab001fba 100644
> --- a/sound/core/pcm_native.c
> +++ b/sound/core/pcm_native.c
> @@ -190,12 +190,12 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
>  		if (!(params->rmask & (1 << k)))
>  			continue;
>  #ifdef RULES_DEBUG
> -		printk(KERN_DEBUG "%s = ", snd_pcm_hw_param_names[k]);
> -		printk("%04x%04x%04x%04x -> ", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
> +		pr_debug("%s = ", snd_pcm_hw_param_names[k]);
> +		pr_cont("%04x%04x%04x%04x -> ", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
>  #endif
>  		changed = snd_mask_refine(m, constrs_mask(constrs, k));
>  #ifdef RULES_DEBUG
> -		printk("%04x%04x%04x%04x\n", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
> +		pr_cont("%04x%04x%04x%04x\n", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
>  #endif
>  		if (changed)
>  			params->cmask |= 1 << k;
> @@ -210,21 +210,21 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
>  		if (!(params->rmask & (1 << k)))
>  			continue;
>  #ifdef RULES_DEBUG
> -		printk(KERN_DEBUG "%s = ", snd_pcm_hw_param_names[k]);
> +		pr_debug("%s = ", snd_pcm_hw_param_names[k]);
>  		if (i->empty)
> -			printk("empty");
> +			pr_cont("empty");
>  		else
> -			printk("%c%u %u%c", 
> +			pr_cont("%c%u %u%c",
>  			       i->openmin ? '(' : '[', i->min,
>  			       i->max, i->openmax ? ')' : ']');
> -		printk(" -> ");
> +		pr_cont(" -> ");
>  #endif
>  		changed = snd_interval_refine(i, constrs_interval(constrs, k));
>  #ifdef RULES_DEBUG
>  		if (i->empty)
> -			printk("empty\n");
> +			pr_cont("empty\n");
>  		else 
> -			printk("%c%u %u%c\n", 
> +			pr_cont("%c%u %u%c\n",
>  			       i->openmin ? '(' : '[', i->min,
>  			       i->max, i->openmax ? ')' : ']');
>  #endif
> @@ -255,18 +255,18 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
>  			if (!doit)
>  				continue;
>  #ifdef RULES_DEBUG
> -			printk(KERN_DEBUG "Rule %d [%p]: ", k, r->func);
> +			pr_debug("Rule %d [%p]: ", k, r->func);
>  			if (r->var >= 0) {
> -				printk("%s = ", snd_pcm_hw_param_names[r->var]);
> +				pr_cont("%s = ", snd_pcm_hw_param_names[r->var]);
>  				if (hw_is_mask(r->var)) {
>  					m = hw_param_mask(params, r->var);
> -					printk("%x", *m->bits);
> +					pr_cont("%x", *m->bits);
>  				} else {
>  					i = hw_param_interval(params, r->var);
>  					if (i->empty)
> -						printk("empty");
> +						pr_cont("empty");
>  					else
> -						printk("%c%u %u%c", 
> +						pr_cont("%c%u %u%c",
>  						       i->openmin ? '(' : '[', i->min,
>  						       i->max, i->openmax ? ')' : ']');
>  				}
> @@ -275,19 +275,19 @@ int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
>  			changed = r->func(params, r);
>  #ifdef RULES_DEBUG
>  			if (r->var >= 0) {
> -				printk(" -> ");
> +				pr_cont(" -> ");
>  				if (hw_is_mask(r->var))
> -					printk("%x", *m->bits);
> +					pr_cont("%x", *m->bits);
>  				else {
>  					if (i->empty)
> -						printk("empty");
> +						pr_cont("empty");
>  					else
> -						printk("%c%u %u%c", 
> +						pr_cont("%c%u %u%c",
>  						       i->openmin ? '(' : '[', i->min,
>  						       i->max, i->openmax ? ')' : ']');
>  				}
>  			}
> -			printk("\n");
> +			pr_cont("\n");
>  #endif
>  			rstamps[k] = stamp;
>  			if (changed && r->var >= 0) {
> @@ -1541,7 +1541,8 @@ static int snd_pcm_drain(struct snd_pcm_substream *substream,
>  			if (substream->runtime->status->state == SNDRV_PCM_STATE_SUSPENDED)
>  				result = -ESTRPIPE;
>  			else {
> -				snd_printd("playback drain error (DMA or IRQ trouble?)\n");
> +				dev_dbg(substream->pcm->card->dev,
> +					"playback drain error (DMA or IRQ trouble?)\n");
>  				snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP);
>  				result = -EIO;
>  			}
> @@ -2066,7 +2067,7 @@ int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
>  
>  	err = snd_pcm_hw_constraints_init(substream);
>  	if (err < 0) {
> -		snd_printd("snd_pcm_hw_constraints_init failed\n");
> +		pcm_dbg(pcm, "snd_pcm_hw_constraints_init failed\n");
>  		goto error;
>  	}
>  
> @@ -2077,7 +2078,7 @@ int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
>  
>  	err = snd_pcm_hw_constraints_complete(substream);
>  	if (err < 0) {
> -		snd_printd("snd_pcm_hw_constraints_complete failed\n");
> +		pcm_dbg(pcm, "snd_pcm_hw_constraints_complete failed\n");
>  		goto error;
>  	}
>  
> @@ -2609,7 +2610,7 @@ static int snd_pcm_common_ioctl1(struct file *file,
>  		return res;
>  	}
>  	}
> -	snd_printd("unknown ioctl = 0x%x\n", cmd);
> +	pcm_dbg(substream->pcm, "unknown ioctl = 0x%x\n", cmd);
>  	return -ENOTTY;
>  }
>  
> diff --git a/sound/core/pcm_timer.c b/sound/core/pcm_timer.c
> index b01d9481d632..20ecd8f18080 100644
> --- a/sound/core/pcm_timer.c
> +++ b/sound/core/pcm_timer.c
> @@ -53,7 +53,9 @@ void snd_pcm_timer_resolution_change(struct snd_pcm_substream *substream)
>  		post *= 2;
>  	}
>  	if (rate == 0) {
> -		snd_printk(KERN_ERR "pcm timer resolution out of range (rate = %u, period_size = %lu)\n", runtime->rate, runtime->period_size);
> +		pcm_err(substream->pcm,
> +			"pcm timer resolution out of range (rate = %u, period_size = %lu)\n",
> +			runtime->rate, runtime->period_size);
>  		runtime->timer_resolution = -1;
>  		return;
>  	}
> -- 
> 1.8.5.2
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>

Patch
diff mbox

diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 4883499ab38b..b4d6697085fe 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -1141,4 +1141,12 @@  static inline u64 pcm_format_to_bits(snd_pcm_format_t pcm_format)
 	return 1ULL << (__force int) pcm_format;
 }
 
+/* printk helpers */
+#define pcm_err(pcm, fmt, args...) \
+	dev_err((pcm)->card->dev, fmt, ##args)
+#define pcm_warn(pcm, fmt, args...) \
+	dev_warn((pcm)->card->dev, fmt, ##args)
+#define pcm_dbg(pcm, fmt, args...) \
+	dev_dbg((pcm)->card->dev, fmt, ##args)
+
 #endif /* __SOUND_PCM_H */
diff --git a/sound/core/pcm.c b/sound/core/pcm.c
index 091a05c1d5b3..9defdaef520b 100644
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -338,7 +338,8 @@  static void snd_pcm_proc_info_read(struct snd_pcm_substream *substream,
 
 	info = kmalloc(sizeof(*info), GFP_KERNEL);
 	if (! info) {
-		printk(KERN_DEBUG "snd_pcm_proc_info_read: cannot malloc\n");
+		pcm_dbg(substream->pcm,
+			"snd_pcm_proc_info_read: cannot malloc\n");
 		return;
 	}
 
@@ -660,7 +661,7 @@  int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
 	if (substream_count > 0 && !pcm->internal) {
 		err = snd_pcm_stream_proc_init(pstr);
 		if (err < 0) {
-			snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
+			pcm_err(pcm, "Error in snd_pcm_stream_proc_init\n");
 			return err;
 		}
 	}
@@ -668,7 +669,7 @@  int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
 	for (idx = 0, prev = NULL; idx < substream_count; idx++) {
 		substream = kzalloc(sizeof(*substream), GFP_KERNEL);
 		if (substream == NULL) {
-			snd_printk(KERN_ERR "Cannot allocate PCM substream\n");
+			pcm_err(pcm, "Cannot allocate PCM substream\n");
 			return -ENOMEM;
 		}
 		substream->pcm = pcm;
@@ -685,7 +686,8 @@  int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
 		if (!pcm->internal) {
 			err = snd_pcm_substream_proc_init(substream);
 			if (err < 0) {
-				snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
+				pcm_err(pcm,
+					"Error in snd_pcm_stream_proc_init\n");
 				if (prev == NULL)
 					pstr->substream = NULL;
 				else
@@ -724,7 +726,7 @@  static int _snd_pcm_new(struct snd_card *card, const char *id, int device,
 		*rpcm = NULL;
 	pcm = kzalloc(sizeof(*pcm), GFP_KERNEL);
 	if (pcm == NULL) {
-		snd_printk(KERN_ERR "Cannot allocate PCM\n");
+		dev_err(card->dev, "Cannot allocate PCM\n");
 		return -ENOMEM;
 	}
 	pcm->card = card;
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index a2104671f51d..6630a4eb8393 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -174,7 +174,7 @@  static void xrun(struct snd_pcm_substream *substream)
 	if (xrun_debug(substream, XRUN_DEBUG_BASIC)) {
 		char name[16];
 		snd_pcm_debug_name(substream, name, sizeof(name));
-		snd_printd(KERN_DEBUG "XRUN: %s\n", name);
+		pcm_warn(substream->pcm, "XRUN: %s\n", name);
 		dump_stack_on_xrun(substream);
 	}
 }
@@ -184,9 +184,7 @@  static void xrun(struct snd_pcm_substream *substream)
 	do {								\
 		if (xrun_debug(substream, XRUN_DEBUG_BASIC)) {		\
 			xrun_log_show(substream);			\
-			if (snd_printd_ratelimit()) {			\
-				snd_printd("PCM: " fmt, ##args);	\
-			}						\
+			pr_err_ratelimited("ALSA: PCM: " fmt, ##args);	\
 			dump_stack_on_xrun(substream);			\
 		}							\
 	} while (0)
@@ -253,7 +251,7 @@  static void xrun_log_show(struct snd_pcm_substream *substream)
 		entry = &log->entries[idx];
 		if (entry->period_size == 0)
 			break;
-		snd_printd("hwptr log: %s: %sj=%lu, pos=%ld/%ld/%ld, "
+		pr_info("hwptr log: %s: %sj=%lu, pos=%ld/%ld/%ld, "
 			   "hwptr=%ld/%ld\n",
 			   name, entry->in_interrupt ? "[Q] " : "",
 			   entry->jiffies,
@@ -342,14 +340,14 @@  static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
 		return -EPIPE;
 	}
 	if (pos >= runtime->buffer_size) {
-		if (snd_printd_ratelimit()) {
+		if (printk_ratelimit()) {
 			char name[16];
 			snd_pcm_debug_name(substream, name, sizeof(name));
 			xrun_log_show(substream);
-			snd_printd(KERN_ERR  "BUG: %s, pos = %ld, "
-				   "buffer size = %ld, period size = %ld\n",
-				   name, pos, runtime->buffer_size,
-				   runtime->period_size);
+			pcm_err(substream->pcm,
+				"BUG: %s, pos = %ld, buffer size = %ld, period size = %ld\n",
+				name, pos, runtime->buffer_size,
+				runtime->period_size);
 		}
 		pos = 0;
 	}
@@ -394,8 +392,8 @@  static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
 			XRUN_DEBUG_PERIODUPDATE : XRUN_DEBUG_HWPTRUPDATE)) {
 		char name[16];
 		snd_pcm_debug_name(substream, name, sizeof(name));
-		snd_printd("%s_update: %s: pos=%u/%u/%u, "
-			   "hwptr=%ld/%ld/%ld/%ld\n",
+		pcm_dbg(substream->pcm,
+			"%s_update: %s: pos=%u/%u/%u, hwptr=%ld/%ld/%ld/%ld\n",
 			   in_interrupt ? "period" : "hwptr",
 			   name,
 			   (unsigned int)pos,
@@ -1941,8 +1939,9 @@  static int wait_for_avail(struct snd_pcm_substream *substream,
 			continue;
 		}
 		if (!tout) {
-			snd_printd("%s write error (DMA or IRQ trouble?)\n",
-				   is_playback ? "playback" : "capture");
+			pcm_dbg(substream->pcm,
+				"%s write error (DMA or IRQ trouble?)\n",
+				is_playback ? "playback" : "capture");
 			err = -EIO;
 			break;
 		}
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index e3664116736b..b653ab001fba 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -190,12 +190,12 @@  int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
 		if (!(params->rmask & (1 << k)))
 			continue;
 #ifdef RULES_DEBUG
-		printk(KERN_DEBUG "%s = ", snd_pcm_hw_param_names[k]);
-		printk("%04x%04x%04x%04x -> ", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
+		pr_debug("%s = ", snd_pcm_hw_param_names[k]);
+		pr_cont("%04x%04x%04x%04x -> ", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
 #endif
 		changed = snd_mask_refine(m, constrs_mask(constrs, k));
 #ifdef RULES_DEBUG
-		printk("%04x%04x%04x%04x\n", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
+		pr_cont("%04x%04x%04x%04x\n", m->bits[3], m->bits[2], m->bits[1], m->bits[0]);
 #endif
 		if (changed)
 			params->cmask |= 1 << k;
@@ -210,21 +210,21 @@  int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
 		if (!(params->rmask & (1 << k)))
 			continue;
 #ifdef RULES_DEBUG
-		printk(KERN_DEBUG "%s = ", snd_pcm_hw_param_names[k]);
+		pr_debug("%s = ", snd_pcm_hw_param_names[k]);
 		if (i->empty)
-			printk("empty");
+			pr_cont("empty");
 		else
-			printk("%c%u %u%c", 
+			pr_cont("%c%u %u%c",
 			       i->openmin ? '(' : '[', i->min,
 			       i->max, i->openmax ? ')' : ']');
-		printk(" -> ");
+		pr_cont(" -> ");
 #endif
 		changed = snd_interval_refine(i, constrs_interval(constrs, k));
 #ifdef RULES_DEBUG
 		if (i->empty)
-			printk("empty\n");
+			pr_cont("empty\n");
 		else 
-			printk("%c%u %u%c\n", 
+			pr_cont("%c%u %u%c\n",
 			       i->openmin ? '(' : '[', i->min,
 			       i->max, i->openmax ? ')' : ']');
 #endif
@@ -255,18 +255,18 @@  int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
 			if (!doit)
 				continue;
 #ifdef RULES_DEBUG
-			printk(KERN_DEBUG "Rule %d [%p]: ", k, r->func);
+			pr_debug("Rule %d [%p]: ", k, r->func);
 			if (r->var >= 0) {
-				printk("%s = ", snd_pcm_hw_param_names[r->var]);
+				pr_cont("%s = ", snd_pcm_hw_param_names[r->var]);
 				if (hw_is_mask(r->var)) {
 					m = hw_param_mask(params, r->var);
-					printk("%x", *m->bits);
+					pr_cont("%x", *m->bits);
 				} else {
 					i = hw_param_interval(params, r->var);
 					if (i->empty)
-						printk("empty");
+						pr_cont("empty");
 					else
-						printk("%c%u %u%c", 
+						pr_cont("%c%u %u%c",
 						       i->openmin ? '(' : '[', i->min,
 						       i->max, i->openmax ? ')' : ']');
 				}
@@ -275,19 +275,19 @@  int snd_pcm_hw_refine(struct snd_pcm_substream *substream,
 			changed = r->func(params, r);
 #ifdef RULES_DEBUG
 			if (r->var >= 0) {
-				printk(" -> ");
+				pr_cont(" -> ");
 				if (hw_is_mask(r->var))
-					printk("%x", *m->bits);
+					pr_cont("%x", *m->bits);
 				else {
 					if (i->empty)
-						printk("empty");
+						pr_cont("empty");
 					else
-						printk("%c%u %u%c", 
+						pr_cont("%c%u %u%c",
 						       i->openmin ? '(' : '[', i->min,
 						       i->max, i->openmax ? ')' : ']');
 				}
 			}
-			printk("\n");
+			pr_cont("\n");
 #endif
 			rstamps[k] = stamp;
 			if (changed && r->var >= 0) {
@@ -1541,7 +1541,8 @@  static int snd_pcm_drain(struct snd_pcm_substream *substream,
 			if (substream->runtime->status->state == SNDRV_PCM_STATE_SUSPENDED)
 				result = -ESTRPIPE;
 			else {
-				snd_printd("playback drain error (DMA or IRQ trouble?)\n");
+				dev_dbg(substream->pcm->card->dev,
+					"playback drain error (DMA or IRQ trouble?)\n");
 				snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP);
 				result = -EIO;
 			}
@@ -2066,7 +2067,7 @@  int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
 
 	err = snd_pcm_hw_constraints_init(substream);
 	if (err < 0) {
-		snd_printd("snd_pcm_hw_constraints_init failed\n");
+		pcm_dbg(pcm, "snd_pcm_hw_constraints_init failed\n");
 		goto error;
 	}
 
@@ -2077,7 +2078,7 @@  int snd_pcm_open_substream(struct snd_pcm *pcm, int stream,
 
 	err = snd_pcm_hw_constraints_complete(substream);
 	if (err < 0) {
-		snd_printd("snd_pcm_hw_constraints_complete failed\n");
+		pcm_dbg(pcm, "snd_pcm_hw_constraints_complete failed\n");
 		goto error;
 	}
 
@@ -2609,7 +2610,7 @@  static int snd_pcm_common_ioctl1(struct file *file,
 		return res;
 	}
 	}
-	snd_printd("unknown ioctl = 0x%x\n", cmd);
+	pcm_dbg(substream->pcm, "unknown ioctl = 0x%x\n", cmd);
 	return -ENOTTY;
 }
 
diff --git a/sound/core/pcm_timer.c b/sound/core/pcm_timer.c
index b01d9481d632..20ecd8f18080 100644
--- a/sound/core/pcm_timer.c
+++ b/sound/core/pcm_timer.c
@@ -53,7 +53,9 @@  void snd_pcm_timer_resolution_change(struct snd_pcm_substream *substream)
 		post *= 2;
 	}
 	if (rate == 0) {
-		snd_printk(KERN_ERR "pcm timer resolution out of range (rate = %u, period_size = %lu)\n", runtime->rate, runtime->period_size);
+		pcm_err(substream->pcm,
+			"pcm timer resolution out of range (rate = %u, period_size = %lu)\n",
+			runtime->rate, runtime->period_size);
 		runtime->timer_resolution = -1;
 		return;
 	}