diff options
author | Mark Farrugia <mark.farrugia@fiberdyne.com.au> | 2018-10-25 15:57:34 +1100 |
---|---|---|
committer | Mark Farrugia <mark.farrugia@fiberdyne.com.au> | 2018-10-26 17:27:49 +1100 |
commit | e734ca6ed2bb99343fd32c369a7eb3679447b115 (patch) | |
tree | 9e83db5e2b0feedad8870051650d879fda707bd6 | |
parent | 18007ca500654b48011e8a8cf96c47b1a5aa3be7 (diff) |
Optimize CHK_ macros
No need to be using kasprintf in a debug macro!
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
-rw-r--r-- | alsa-pcm.c | 3 | ||||
-rw-r--r-- | utils.h | 23 |
2 files changed, 9 insertions, 17 deletions
@@ -55,8 +55,7 @@ static int pcm_open(struct snd_pcm_substream *substream) stream = __avirt_stream_find_by_device(substream->pcm->device); audiopath = avirt_audiopath_get(stream->map); - CHK_NULL_V(audiopath, -EFAULT, "Cannot find Audio Path uid: '%s'!", - stream->map); + CHK_NULL_V(audiopath, "Cannot find Audio Path uid: '%s'!", stream->map); substream->private_data = audiopath; // Copy the hw params from the audiopath to the pcm @@ -10,39 +10,32 @@ #ifndef __SOUND_AVIRT_UTILS_H #define __SOUND_AVIRT_UTILS_H -#include <linux/slab.h> - -#define PRINT_ERR(errno, errmsg) \ - pr_err("[%s]:[ERRNO:%d]: %s \n", __func__, errno, (errmsg)); - #define CHK_ERR(errno) \ do { \ if ((errno) < 0) \ return (errno); \ } while (0) -#define CHK_ERR_V(errno, errmsg, ...) \ +#define CHK_ERR_V(errno, fmt, args...) \ do { \ if ((errno) < 0) { \ - PRINT_ERR((errno), (errmsg), ##__VA_ARGS__) \ + DERROR(D_LOGNAME, (fmt), ##args) \ return (errno); \ } \ } while (0) -#define CHK_NULL(x, errno) \ +#define CHK_NULL(x) \ do { \ if (!(x)) \ - return errno; \ + return -EFAULT; \ } while (0) -#define CHK_NULL_V(x, errno, errmsg, ...) \ +#define CHK_NULL_V(x, fmt, args...) \ do { \ if (!(x)) { \ - char *errmsg_done = \ - kasprintf(GFP_KERNEL, errmsg, ##__VA_ARGS__); \ - PRINT_ERR(EFAULT, errmsg_done); \ - kfree(errmsg_done); \ - return errno; \ + DERROR(D_LOGNAME, "[ERRNO: %d] " fmt, -EFAULT, \ + ##args); \ + return -EFAULT; \ } \ } while (0) |