diff options
author | Marek Vasut <marex@denx.de> | 2014-04-24 20:05:16 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2014-05-08 15:58:08 +0200 |
commit | e75880dd9afb60ff59efe079ac50ccc16daffe54 (patch) | |
tree | 2a599fa4ff707e5e848028a04f899b9522be7d4d /drivers/crypto | |
parent | crypto: caam - Pass error type into the functions (diff) | |
download | linux-e75880dd9afb60ff59efe079ac50ccc16daffe54.tar.xz linux-e75880dd9afb60ff59efe079ac50ccc16daffe54.zip |
crypto: caam - Kill the easy targets
Fix the functions which can be obviously done right with a simple
dev_err() now. While at it, further press the on-stack allocation
of buffer for sprintf() voodoo down into the abominated functions.
This patch cleans up most of the functions and leaves just two
remaining functions, report_ccb_status() and report_deco_status()
ugly and unhappy.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/caam/error.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/drivers/crypto/caam/error.c b/drivers/crypto/caam/error.c index 7ce1d0349d68..a8736abd717d 100644 --- a/drivers/crypto/caam/error.c +++ b/drivers/crypto/caam/error.c @@ -182,8 +182,10 @@ static void report_jump_idx(u32 status, char *outstr) } static void report_ccb_status(struct device *jrdev, u32 status, - const char *error, char *outstr) + const char *error, char *__outstr) { + char outstr[CAAM_ERROR_STR_MAX]; + u8 cha_id = (status & JRSTA_CCBERR_CHAID_MASK) >> JRSTA_CCBERR_CHAID_SHIFT; u8 err_id = status & JRSTA_CCBERR_ERRID_MASK; @@ -213,18 +215,22 @@ static void report_ccb_status(struct device *jrdev, u32 status, SPRINTFCAT(outstr, "unidentified err_id value 0x%02x", err_id, sizeof("ff")); } + + dev_err(jrdev, "%08x: %s\n", status, outstr); } static void report_jump_status(struct device *jrdev, u32 status, const char *error, char *outstr) { - sprintf(outstr, "%s: ", error); - SPRINTFCAT(outstr, "%s() not implemented", __func__, sizeof(__func__)); + dev_err(jrdev, "%08x: %s: %s() not implemented\n", + status, error, __func__); } static void report_deco_status(struct device *jrdev, u32 status, - const char *error, char *outstr) + const char *error, char *__outstr) { + char outstr[CAAM_ERROR_STR_MAX]; + u8 desc_error = status & JRSTA_DECOERR_ERROR_MASK; int i; sprintf(outstr, "%s: ", error); @@ -242,25 +248,26 @@ static void report_deco_status(struct device *jrdev, u32 status, SPRINTFCAT(outstr, "unidentified error value 0x%02x", desc_error, sizeof("ff")); } + + dev_err(jrdev, "%08x: %s\n", status, outstr); } static void report_jr_status(struct device *jrdev, u32 status, const char *error, char *outstr) { - sprintf(outstr, "%s: ", error); - SPRINTFCAT(outstr, "%s() not implemented", __func__, sizeof(__func__)); + dev_err(jrdev, "%08x: %s: %s() not implemented\n", + status, error, __func__); } static void report_cond_code_status(struct device *jrdev, u32 status, const char *error, char *outstr) { - sprintf(outstr, "%s: ", error); - SPRINTFCAT(outstr, "%s() not implemented", __func__, sizeof(__func__)); + dev_err(jrdev, "%08x: %s: %s() not implemented\n", + status, error, __func__); } void caam_jr_strstatus(struct device *jrdev, u32 status) { - char outstr[CAAM_ERROR_STR_MAX]; static const struct stat_src { void (*report_ssed)(struct device *jrdev, u32 status, const char *error, char *outstr); @@ -287,8 +294,6 @@ void caam_jr_strstatus(struct device *jrdev, u32 status) } status_src[ssrc].report_ssed(jrdev, status, - status_src[ssrc].error, outstr); - - dev_err(jrdev, "%08x: %s\n", status, outstr); + status_src[ssrc].error, NULL); } EXPORT_SYMBOL(caam_jr_strstatus); |