You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
238 lines
7.6 KiB
Diff
238 lines
7.6 KiB
Diff
From ec788d7c115d3ec59b39b6aac17d57ad86b7fbfe Mon Sep 17 00:00:00 2001
|
|
From: Takashi Iwai <tiwai@suse.de>
|
|
Date: Tue, 4 Sep 2018 17:58:51 +0200
|
|
Subject: [PATCH] staging: bcm2835-audio: Use standard error print
|
|
helpers
|
|
|
|
commit b7584b64168208ebc14160770c0966b8b12fc16b upstream.
|
|
|
|
For making the whole code more consistent, replace the home-made debug
|
|
print macros with the standard dev_err() & co.
|
|
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
.../vc04_services/bcm2835-audio/bcm2835-pcm.c | 4 +-
|
|
.../bcm2835-audio/bcm2835-vchiq.c | 52 ++++++++-----------
|
|
.../vc04_services/bcm2835-audio/bcm2835.c | 2 +-
|
|
.../vc04_services/bcm2835-audio/bcm2835.h | 43 +--------------
|
|
4 files changed, 27 insertions(+), 74 deletions(-)
|
|
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
|
|
@@ -101,8 +101,8 @@ static int snd_bcm2835_playback_open_gen
|
|
goto out;
|
|
}
|
|
if (idx >= MAX_SUBSTREAMS) {
|
|
- audio_error
|
|
- ("substream(%d) device doesn't exist max(%d) substreams allowed\n",
|
|
+ dev_err(chip->dev,
|
|
+ "substream(%d) device doesn't exist max(%d) substreams allowed\n",
|
|
idx, MAX_SUBSTREAMS);
|
|
err = -ENODEV;
|
|
goto out;
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
|
|
@@ -26,20 +26,8 @@
|
|
|
|
/* ---- Private Constants and Types ------------------------------------------ */
|
|
|
|
-/* Logging macros (for remapping to other logging mechanisms, i.e., printf) */
|
|
-#ifdef AUDIO_DEBUG_ENABLE
|
|
-#define LOG_ERR(fmt, arg...) pr_err("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-#define LOG_WARN(fmt, arg...) pr_info("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-#define LOG_INFO(fmt, arg...) pr_info("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-#define LOG_DBG(fmt, arg...) pr_info("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-#else
|
|
-#define LOG_ERR(fmt, arg...) pr_err("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-#define LOG_WARN(fmt, arg...) no_printk(fmt, ##arg)
|
|
-#define LOG_INFO(fmt, arg...) no_printk(fmt, ##arg)
|
|
-#define LOG_DBG(fmt, arg...) no_printk(fmt, ##arg)
|
|
-#endif
|
|
-
|
|
struct bcm2835_audio_instance {
|
|
+ struct device *dev;
|
|
VCHI_SERVICE_HANDLE_T vchi_handle;
|
|
struct completion msg_avail_comp;
|
|
struct mutex vchi_mutex;
|
|
@@ -76,7 +64,8 @@ static int bcm2835_audio_send_msg_locked
|
|
status = vchi_queue_kernel_message(instance->vchi_handle,
|
|
m, sizeof(*m));
|
|
if (status) {
|
|
- LOG_ERR("vchi message queue failed: %d, msg=%d\n",
|
|
+ dev_err(instance->dev,
|
|
+ "vchi message queue failed: %d, msg=%d\n",
|
|
status, m->type);
|
|
return -EIO;
|
|
}
|
|
@@ -84,10 +73,12 @@ static int bcm2835_audio_send_msg_locked
|
|
if (wait) {
|
|
if (!wait_for_completion_timeout(&instance->msg_avail_comp,
|
|
msecs_to_jiffies(10 * 1000))) {
|
|
- LOG_ERR("vchi message timeout, msg=%d\n", m->type);
|
|
+ dev_err(instance->dev,
|
|
+ "vchi message timeout, msg=%d\n", m->type);
|
|
return -ETIMEDOUT;
|
|
} else if (instance->result) {
|
|
- LOG_ERR("vchi message response error:%d, msg=%d\n",
|
|
+ dev_err(instance->dev,
|
|
+ "vchi message response error:%d, msg=%d\n",
|
|
instance->result, m->type);
|
|
return -EIO;
|
|
}
|
|
@@ -140,12 +131,12 @@ static void audio_vchi_callback(void *pa
|
|
} else if (m.type == VC_AUDIO_MSG_TYPE_COMPLETE) {
|
|
if (m.u.complete.cookie1 != BCM2835_AUDIO_WRITE_COOKIE1 ||
|
|
m.u.complete.cookie2 != BCM2835_AUDIO_WRITE_COOKIE2)
|
|
- LOG_ERR("invalid cookie\n");
|
|
+ dev_err(instance->dev, "invalid cookie\n");
|
|
else
|
|
bcm2835_playback_fifo(instance->alsa_stream,
|
|
m.u.complete.count);
|
|
} else {
|
|
- LOG_ERR("unexpected callback type=%d\n", m.type);
|
|
+ dev_err(instance->dev, "unexpected callback type=%d\n", m.type);
|
|
}
|
|
}
|
|
|
|
@@ -173,8 +164,9 @@ vc_vchi_audio_init(VCHI_INSTANCE_T vchi_
|
|
&instance->vchi_handle);
|
|
|
|
if (status) {
|
|
- LOG_ERR("%s: failed to open VCHI service connection (status=%d)\n",
|
|
- __func__, status);
|
|
+ dev_err(instance->dev,
|
|
+ "failed to open VCHI service connection (status=%d)\n",
|
|
+ status);
|
|
kfree(instance);
|
|
return -EPERM;
|
|
}
|
|
@@ -195,30 +187,30 @@ static void vc_vchi_audio_deinit(struct
|
|
/* Close all VCHI service connections */
|
|
status = vchi_service_close(instance->vchi_handle);
|
|
if (status) {
|
|
- LOG_DBG("%s: failed to close VCHI service connection (status=%d)\n",
|
|
- __func__, status);
|
|
+ dev_err(instance->dev,
|
|
+ "failed to close VCHI service connection (status=%d)\n",
|
|
+ status);
|
|
}
|
|
|
|
mutex_unlock(&instance->vchi_mutex);
|
|
}
|
|
|
|
-int bcm2835_new_vchi_ctx(struct bcm2835_vchi_ctx *vchi_ctx)
|
|
+int bcm2835_new_vchi_ctx(struct device *dev, struct bcm2835_vchi_ctx *vchi_ctx)
|
|
{
|
|
int ret;
|
|
|
|
/* Initialize and create a VCHI connection */
|
|
ret = vchi_initialise(&vchi_ctx->vchi_instance);
|
|
if (ret) {
|
|
- LOG_ERR("%s: failed to initialise VCHI instance (ret=%d)\n",
|
|
- __func__, ret);
|
|
-
|
|
+ dev_err(dev, "failed to initialise VCHI instance (ret=%d)\n",
|
|
+ ret);
|
|
return -EIO;
|
|
}
|
|
|
|
ret = vchi_connect(NULL, 0, vchi_ctx->vchi_instance);
|
|
if (ret) {
|
|
- LOG_ERR("%s: failed to connect VCHI instance (ret=%d)\n",
|
|
- __func__, ret);
|
|
+ dev_dbg(dev, "failed to connect VCHI instance (ret=%d)\n",
|
|
+ ret);
|
|
|
|
kfree(vchi_ctx->vchi_instance);
|
|
vchi_ctx->vchi_instance = NULL;
|
|
@@ -248,6 +240,7 @@ int bcm2835_audio_open(struct bcm2835_al
|
|
if (!instance)
|
|
return -ENOMEM;
|
|
mutex_init(&instance->vchi_mutex);
|
|
+ instance->dev = alsa_stream->chip->dev;
|
|
instance->alsa_stream = alsa_stream;
|
|
alsa_stream->instance = instance;
|
|
|
|
@@ -394,7 +387,8 @@ int bcm2835_audio_write(struct bcm2835_a
|
|
}
|
|
|
|
if (status) {
|
|
- LOG_ERR("failed on %d bytes transfer (status=%d)\n",
|
|
+ dev_err(instance->dev,
|
|
+ "failed on %d bytes transfer (status=%d)\n",
|
|
size, status);
|
|
err = -EIO;
|
|
}
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c
|
|
@@ -73,7 +73,7 @@ static int bcm2835_devm_add_vchi_ctx(str
|
|
|
|
memset(vchi_ctx, 0, sizeof(*vchi_ctx));
|
|
|
|
- ret = bcm2835_new_vchi_ctx(vchi_ctx);
|
|
+ ret = bcm2835_new_vchi_ctx(dev, vchi_ctx);
|
|
if (ret) {
|
|
devres_free(vchi_ctx);
|
|
return ret;
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
|
|
@@ -17,47 +17,6 @@
|
|
|
|
#include "interface/vchi/vchi.h"
|
|
|
|
-/*
|
|
- * #define AUDIO_DEBUG_ENABLE
|
|
- * #define AUDIO_VERBOSE_DEBUG_ENABLE
|
|
- */
|
|
-
|
|
-/* Debug macros */
|
|
-
|
|
-#ifdef AUDIO_DEBUG_ENABLE
|
|
-#ifdef AUDIO_VERBOSE_DEBUG_ENABLE
|
|
-
|
|
-#define audio_debug(fmt, arg...) \
|
|
- pr_info("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-
|
|
-#define audio_info(fmt, arg...) \
|
|
- pr_info("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-
|
|
-#else
|
|
-
|
|
-#define audio_debug(fmt, arg...)
|
|
-
|
|
-#define audio_info(fmt, arg...)
|
|
-
|
|
-#endif /* AUDIO_VERBOSE_DEBUG_ENABLE */
|
|
-
|
|
-#else
|
|
-
|
|
-#define audio_debug(fmt, arg...)
|
|
-
|
|
-#define audio_info(fmt, arg...)
|
|
-
|
|
-#endif /* AUDIO_DEBUG_ENABLE */
|
|
-
|
|
-#define audio_error(fmt, arg...) \
|
|
- pr_err("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-
|
|
-#define audio_warning(fmt, arg...) \
|
|
- pr_warn("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-
|
|
-#define audio_alert(fmt, arg...) \
|
|
- pr_alert("%s:%d " fmt, __func__, __LINE__, ##arg)
|
|
-
|
|
#define MAX_SUBSTREAMS (8)
|
|
#define AVAIL_SUBSTREAMS_MASK (0xff)
|
|
|
|
@@ -141,7 +100,7 @@ int snd_bcm2835_new_simple_pcm(struct bc
|
|
int snd_bcm2835_new_hdmi_ctl(struct bcm2835_chip *chip);
|
|
int snd_bcm2835_new_headphones_ctl(struct bcm2835_chip *chip);
|
|
|
|
-int bcm2835_new_vchi_ctx(struct bcm2835_vchi_ctx *vchi_ctx);
|
|
+int bcm2835_new_vchi_ctx(struct device *dev, struct bcm2835_vchi_ctx *vchi_ctx);
|
|
void bcm2835_free_vchi_ctx(struct bcm2835_vchi_ctx *vchi_ctx);
|
|
|
|
int bcm2835_audio_open(struct bcm2835_alsa_stream *alsa_stream);
|