ALSA: pcsp: Use standard print API

Use the standard print API with dev_*() instead of the old house-baked
one.  It gives better information and allows dynamically control of
debug prints.

Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20240807133452.9424-15-tiwai@suse.de
This commit is contained in:
Takashi Iwai 2024-08-07 15:34:04 +02:00
parent 650dcf25e1
commit 9cbe416b93
3 changed files with 31 additions and 30 deletions

View File

@ -47,11 +47,12 @@ static int snd_pcsp_create(struct snd_card *card)
if (!nopcm) { if (!nopcm) {
if (resolution > PCSP_MAX_PERIOD_NS) { if (resolution > PCSP_MAX_PERIOD_NS) {
printk(KERN_ERR "PCSP: Timer resolution is not sufficient " dev_err(card->dev,
"(%unS)\n", resolution); "PCSP: Timer resolution is not sufficient (%unS)\n",
printk(KERN_ERR "PCSP: Make sure you have HPET and ACPI " resolution);
"enabled.\n"); dev_err(card->dev,
printk(KERN_ERR "PCSP: Turned into nopcm mode.\n"); "PCSP: Make sure you have HPET and ACPI enabled.\n");
dev_err(card->dev, "PCSP: Turned into nopcm mode.\n");
nopcm = 1; nopcm = 1;
} }
} }
@ -61,8 +62,8 @@ static int snd_pcsp_create(struct snd_card *card)
else else
min_div = MAX_DIV; min_div = MAX_DIV;
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_DEBUG "PCSP: lpj=%li, min_div=%i, res=%u\n", dev_dbg(card->dev, "PCSP: lpj=%li, min_div=%i, res=%u\n",
loops_per_jiffy, min_div, resolution); loops_per_jiffy, min_div, resolution);
#endif #endif
div = MAX_DIV / min_div; div = MAX_DIV / min_div;
@ -141,14 +142,14 @@ static int alsa_card_pcsp_init(struct device *dev)
err = snd_card_pcsp_probe(0, dev); err = snd_card_pcsp_probe(0, dev);
if (err) { if (err) {
printk(KERN_ERR "PC-Speaker initialization failed.\n"); dev_err(dev, "PC-Speaker initialization failed.\n");
return err; return err;
} }
/* Well, CONFIG_DEBUG_PAGEALLOC makes the sound horrible. Lets alert */ /* Well, CONFIG_DEBUG_PAGEALLOC makes the sound horrible. Lets alert */
if (debug_pagealloc_enabled()) { if (debug_pagealloc_enabled()) {
printk(KERN_WARNING "PCSP: CONFIG_DEBUG_PAGEALLOC is enabled, " dev_warn(dev,
"which may make the sound noisy.\n"); "PCSP: CONFIG_DEBUG_PAGEALLOC is enabled, which may make the sound noisy.\n");
} }
return 0; return 0;

View File

@ -12,6 +12,7 @@
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/io.h> #include <linux/io.h>
#include <sound/core.h>
#include <sound/pcm.h> #include <sound/pcm.h>
#include "pcsp.h" #include "pcsp.h"
@ -105,8 +106,8 @@ static void pcsp_pointer_update(struct snd_pcsp *chip)
periods_elapsed = chip->playback_ptr - chip->period_ptr; periods_elapsed = chip->playback_ptr - chip->period_ptr;
if (periods_elapsed < 0) { if (periods_elapsed < 0) {
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: buffer_bytes mod period_bytes != 0 ? " dev_dbg(chip->card->dev,
"(%zi %zi %zi)\n", "PCSP: buffer_bytes mod period_bytes != 0 ? (%zi %zi %zi)\n",
chip->playback_ptr, period_bytes, buffer_bytes); chip->playback_ptr, period_bytes, buffer_bytes);
#endif #endif
periods_elapsed += buffer_bytes; periods_elapsed += buffer_bytes;
@ -136,7 +137,7 @@ enum hrtimer_restart pcsp_do_timer(struct hrtimer *handle)
pointer_update = !chip->thalf; pointer_update = !chip->thalf;
ns = pcsp_timer_update(chip); ns = pcsp_timer_update(chip);
if (!ns) { if (!ns) {
printk(KERN_WARNING "PCSP: unexpected stop\n"); dev_warn(chip->card->dev, "PCSP: unexpected stop\n");
return HRTIMER_NORESTART; return HRTIMER_NORESTART;
} }
@ -151,10 +152,10 @@ enum hrtimer_restart pcsp_do_timer(struct hrtimer *handle)
static int pcsp_start_playing(struct snd_pcsp *chip) static int pcsp_start_playing(struct snd_pcsp *chip)
{ {
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: start_playing called\n"); dev_dbg(chip->card->dev, "PCSP: start_playing called\n");
#endif #endif
if (atomic_read(&chip->timer_active)) { if (atomic_read(&chip->timer_active)) {
printk(KERN_ERR "PCSP: Timer already active\n"); dev_err(chip->card->dev, "PCSP: Timer already active\n");
return -EIO; return -EIO;
} }
@ -172,7 +173,7 @@ static int pcsp_start_playing(struct snd_pcsp *chip)
static void pcsp_stop_playing(struct snd_pcsp *chip) static void pcsp_stop_playing(struct snd_pcsp *chip)
{ {
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: stop_playing called\n"); dev_dbg(chip->card->dev, "PCSP: stop_playing called\n");
#endif #endif
if (!atomic_read(&chip->timer_active)) if (!atomic_read(&chip->timer_active))
return; return;
@ -201,7 +202,7 @@ static int snd_pcsp_playback_close(struct snd_pcm_substream *substream)
{ {
struct snd_pcsp *chip = snd_pcm_substream_chip(substream); struct snd_pcsp *chip = snd_pcm_substream_chip(substream);
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: close called\n"); dev_dbg(chip->card->dev, "PCSP: close called\n");
#endif #endif
pcsp_sync_stop(chip); pcsp_sync_stop(chip);
chip->playback_substream = NULL; chip->playback_substream = NULL;
@ -220,7 +221,7 @@ static int snd_pcsp_playback_hw_free(struct snd_pcm_substream *substream)
{ {
struct snd_pcsp *chip = snd_pcm_substream_chip(substream); struct snd_pcsp *chip = snd_pcm_substream_chip(substream);
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: hw_free called\n"); dev_dbg(chip->card->dev, "PCSP: hw_free called\n");
#endif #endif
pcsp_sync_stop(chip); pcsp_sync_stop(chip);
return 0; return 0;
@ -236,14 +237,13 @@ static int snd_pcsp_playback_prepare(struct snd_pcm_substream *substream)
snd_pcm_format_physical_width(substream->runtime->format) >> 3; snd_pcm_format_physical_width(substream->runtime->format) >> 3;
chip->is_signed = snd_pcm_format_signed(substream->runtime->format); chip->is_signed = snd_pcm_format_signed(substream->runtime->format);
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: prepare called, " dev_dbg(chip->card->dev, "PCSP: prepare called, size=%zi psize=%zi f=%zi f1=%i fsize=%i\n",
"size=%zi psize=%zi f=%zi f1=%i fsize=%i\n", snd_pcm_lib_buffer_bytes(substream),
snd_pcm_lib_buffer_bytes(substream), snd_pcm_lib_period_bytes(substream),
snd_pcm_lib_period_bytes(substream), snd_pcm_lib_buffer_bytes(substream) /
snd_pcm_lib_buffer_bytes(substream) / snd_pcm_lib_period_bytes(substream),
snd_pcm_lib_period_bytes(substream), substream->runtime->periods,
substream->runtime->periods, chip->fmt_size);
chip->fmt_size);
#endif #endif
return 0; return 0;
} }
@ -252,7 +252,7 @@ static int snd_pcsp_trigger(struct snd_pcm_substream *substream, int cmd)
{ {
struct snd_pcsp *chip = snd_pcm_substream_chip(substream); struct snd_pcsp *chip = snd_pcm_substream_chip(substream);
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: trigger called\n"); dev_dbg(chip->card->dev, "PCSP: trigger called\n");
#endif #endif
switch (cmd) { switch (cmd) {
case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_START:
@ -306,10 +306,10 @@ static int snd_pcsp_playback_open(struct snd_pcm_substream *substream)
struct snd_pcsp *chip = snd_pcm_substream_chip(substream); struct snd_pcsp *chip = snd_pcm_substream_chip(substream);
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: open called\n"); dev_dbg(chip->card->dev, "PCSP: open called\n");
#endif #endif
if (atomic_read(&chip->timer_active)) { if (atomic_read(&chip->timer_active)) {
printk(KERN_ERR "PCSP: still active!!\n"); dev_err(chip->card->dev, "PCSP: still active!!\n");
return -EBUSY; return -EBUSY;
} }
runtime->hw = snd_pcsp_playback; runtime->hw = snd_pcsp_playback;

View File

@ -73,7 +73,7 @@ static int pcsp_treble_put(struct snd_kcontrol *kcontrol,
if (treble != chip->treble) { if (treble != chip->treble) {
chip->treble = treble; chip->treble = treble;
#if PCSP_DEBUG #if PCSP_DEBUG
printk(KERN_INFO "PCSP: rate set to %li\n", PCSP_RATE()); dev_dbg(chip->card->dev, "PCSP: rate set to %li\n", PCSP_RATE());
#endif #endif
changed = 1; changed = 1;
} }